如何在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

回到顶部