Windows Phone 8.1相机初始化 - UnAuthorizedException [英] Windows phone 8.1 Camera Initialisation - UnAuthorizedException
问题描述
我在Windows Phone 8.1通用应用程序上尝试使用MediaCapture api启动相机。该代码在Windows 8.1和Windows Phone 8.1模拟器上正常工作。我能够发射相机和拍照。
但它会在Windows Phone 8.1设备上引发UnauthorizedException。类似的问题要求这里
但是,我不知道有人绕过这个问题。我在设备上的侧载应用程序进行测试。
正在初始化MediaCapture:
DeviceInformation cameraDevice = await GetCameraID();
if(cameraDevice!= null)
{
mMediaManager_ = new Windows.Media.Capture.MediaCapture();
var settings = new Windows.Media.Capture.MediaCaptureInitializationSettings();
settings.StreamingCaptureMode = Windows.Media.Capture.StreamingCaptureMode.Video;
settings.MediaCategory = Windows.Media.Capture.MediaCategory.Other;
settings.AudioProcessing = Windows.Media.AudioProcessing.Default;
settings.VideoDeviceId = cameraDevice.Id;
await mMediaManager_.InitializeAsync(settings);
mMediaManager_.RecordLimitationExceeded + = new Windows.Media.Capture.RecordLimitationExceededEventHandler(RecordLimitationExceeded);
mMediaManager_.Failed + = new Windows.Media.Capture.MediaCaptureFailedEventHandler(RecordFailed);
}
拍摄照片:
mMediaStorageFile_ = await folder.CreateFileAsync(fileName,CreationCollisionOption.GenerateUniqueName);
ImageEncodingProperties imageProperties = ImageEncodingProperties.CreateJpeg();
await mMediaManager_.CapturePhotoToStorageFileAsync(imageProperties,mMediaStorageFile_);
mCameraScreen_.setPreviewImage(mMediaStorageFile_);
似乎这个错误已经更正更新。
由于我在开发者预览版本8.10.14176.243上测试, MediaCapture.InitializeAsync
问题。
I am trying to launch camera using MediaCapture api on my windows phone 8.1 universal app. The code works fine on Windows 8.1 and Windows Phone 8.1 emulator. I am able to launch camera and take picture.
But it throws an UnauthorizedException on Windows Phone 8.1 device. Similar question is asked Here
But, i dont know whether someone got around this problem. And I am sideloading application on device for testing. My requirement is to launch camera on sideloaded applications.
Code snippet:
Initializing MediaCapture:
DeviceInformation cameraDevice = await GetCameraID();
if (cameraDevice != null)
{
mMediaManager_ = new Windows.Media.Capture.MediaCapture();
var settings = new Windows.Media.Capture.MediaCaptureInitializationSettings();
settings.StreamingCaptureMode = Windows.Media.Capture.StreamingCaptureMode.Video;
settings.MediaCategory = Windows.Media.Capture.MediaCategory.Other;
settings.AudioProcessing = Windows.Media.AudioProcessing.Default;
settings.VideoDeviceId = cameraDevice.Id;
await mMediaManager_.InitializeAsync(settings);
mMediaManager_.RecordLimitationExceeded += new Windows.Media.Capture.RecordLimitationExceededEventHandler(RecordLimitationExceeded);
mMediaManager_.Failed += new Windows.Media.Capture.MediaCaptureFailedEventHandler(RecordFailed);
}
Taking Photo:
mMediaStorageFile_ = await folder.CreateFileAsync(fileName, CreationCollisionOption.GenerateUniqueName);
ImageEncodingProperties imageProperties = ImageEncodingProperties.CreateJpeg();
await mMediaManager_.CapturePhotoToStorageFileAsync(imageProperties, mMediaStorageFile_);
mCameraScreen_.setPreviewImage(mMediaStorageFile_);
It seems that this bug has been corrected with the last update.
As I've tested on developer preview version 8.10.14176.243, MediaCapture.InitializeAsync
should work now without problems.
这篇关于Windows Phone 8.1相机初始化 - UnAuthorizedException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!