我试图使用诺基亚的示例代码来开发一个带有诺基亚成像 SDK 的应用程序。
我在声明中收到 System.UnauthorizedAccessException
await InitializeCamera(CameraSensorLocation.Back);
.
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
if (_photoCaptureDevice != null)
{
_photoCaptureDevice.Dispose();
_photoCaptureDevice = null;
}
ShowProgress(AppResources.InitializingCameraText);
await InitializeCamera(CameraSensorLocation.Back);
HideProgress();
BackgroundVideoBrush.SetSource(_photoCaptureDevice);
SetScreenButtonsEnabled(true);
SetCameraButtonsEnabled(true);
Storyboard sb = (Storyboard)Resources["CaptureAnimation"];
sb.Stop();
SetOrientation(this.Orientation);
base.OnNavigatedTo(e);
}
private async Task InitializeCamera(CameraSensorLocation sensorLocation)
{
Windows.Foundation.Size initialResolution =
new Windows.Foundation.Size(DefaultCameraResolutionWidth,
DefaultCameraResolutionHeight);
Windows.Foundation.Size previewResolution =
new Windows.Foundation.Size(DefaultCameraResolutionWidth,
DefaultCameraResolutionHeight);
// Find out the largest 4:3 capture resolution available on device
IReadOnlyList<Windows.Foundation.Size> availableResolutions =
PhotoCaptureDevice.GetAvailableCaptureResolutions(sensorLocation);
Windows.Foundation.Size captureResolution = new Windows.Foundation.Size(0, 0);
for (int i = 0; i < availableResolutions.Count; i++)
{
double ratio = availableResolutions[i].Width / availableResolutions[i].Height;
if (ratio > 1.32 && ratio < 1.34)
{
if (captureResolution.Width < availableResolutions[i].Width)
{
captureResolution = availableResolutions[i];
}
}
}
PhotoCaptureDevice device =
await PhotoCaptureDevice.OpenAsync(sensorLocation, initialResolution);
await device.SetPreviewResolutionAsync(previewResolution);
await device.SetCaptureResolutionAsync(captureResolution);
_photoCaptureDevice = device;
SetOrientation(this.Orientation);
}
我该如何处理这个错误