如何在Windows 8中正确初始化相机?
我正试图在Windows 8上初始化摄像头。我已启用项目和我的Windows 8设备上的摄像头功能。如何在Windows 8中正确初始化相机?
这里是我的代码:
var dialog = new Windows.Media.Capture.CameraCaptureUI(); var aspectRatio = { width: 1, height: 1 };
dialog.photoSettings.croppedAspectRatio = aspectRatio;
dialog.captureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.photo).done(function (file) {
if (file) {
editPreviewPicture(file);
mainApp.pictureAccept('control');
} else {
}
}, function (e) {
console.log("Error while opening camera: ", e);
});
在有“captureFileAsync”我收到以下错误行:
Runtime-error JavaScript: Access Denied.
我有双重检查所需要的一切,甚至下载示例项目检查代码并测试相机,在该项目中一切正常。
在此先感谢。
回答:
我发现了这个问题。
上述功能是在这个代码块:
WinJS.UI.Pages.define("/pages/queue/view.html", { ready: function (element, options) {
}
}
的问题是:该准备回调是用于DOM元素,而不是为了JavaScript,因此它仍然处理ASYNC代码,和WinJS不能正确处理多个aSync进程。这就是为什么我得到“访问被拒绝”。
现在来解决这个问题。您需要用timeout创建一个承诺,如下所示:
WinJS.Promise.timeout(500).then( function (complete) {
// Camera initialization/Other aSync code here
},
function (error) { }
);
希望这有助于一些人!
以上是 如何在Windows 8中正确初始化相机? 的全部内容, 来源链接: utcz.com/qa/262828.html