По какой-то причине мой код не может получить объект IAsyncOperation, который возвращается при вызове метода captureFileAsync метода Windows.Media.Capture.CameraCaptureUI(). Объект IAsyncOperation возвращается в соответствии с this documentation. В этой связи документации, говорится:CameraCaptureUI.captureFileAsync не возвращает объект IAsyncOperation
Return value
Type: IAsyncOperation<StorageFile>
When this operationcompletes, a StorageFile object is returned.
Так вот мой код:
var dialog = new Windows.Media.Capture.CameraCaptureUI();
var aspectRatio = { width: 4, height: 3 };
dialog.photoSettings.croppedAspectRatio = aspectRatio;
appSession.InAsyncMode = dialog.captureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.photo).done(function (file) {
if (file) {
self.addPage(URL.createObjectURL(file));
} else {
WinJS.log && WinJS.log("No photo captured.", "sample", "status");
}
}, function (err) {
// None taken
});
Когда я проверить значение appSession.InAysncMode, я вижу, что функция возвращает undefined
. Я подозреваю, что он возвращает undefined
, потому что операция не завершена (т. Е. Пользователь еще не создал фотографию, и она не была сохранена на диске), но мне она нужна, чтобы программно отказаться от режима захвата камеры. Кто-нибудь знает, почему он будет возвращать undefined, а не документированный объект IAsyncOperation?
Спасибо!
должны любить Win8 город-призрак ... – ariestav
Я решил опубликовать этот вопрос на этих форумах и получил ответ через день! http://social.msdn.microsoft.com/Forums/windowsapps/en-US/e8e77027-6416-4b08-8ca4-bc7ecab885d4/why-does-cameracaptureuicapturefileasync-fail-to-return-iasyncoperation-object – ariestav