Windows Phone摄像头在页面切换时导致应用崩溃
本文关键字:应用 崩溃 摄像头 Phone Windows | 更新日期: 2023-09-27 18:10:37
我正在用c#为Windows Phone 8创建一个简单的相机应用程序。在主视图中,相机已经初始化。主视图上有一个按钮,可以将您带到单独的设置页面。但是,当我按后退键返回到带有相机视图的主页时,应用程序崩溃了,我得到了这个异常:
这是我用来切换到设置页面的代码:类型为'System '的异常。InvalidOperationException'在mscorlib.ni.dll中发生,但未在用户代码中处理
WinRT信息:无法获取相机。你只能在前台使用这个类。
如果有此异常的处理程序,则可以安全地继续执行程序。
private void Button_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Uri("/settings.xaml", UriKind.Relative));
}
在设置页面,我只是简单地用后退键返回到主页面,这就是崩溃发生的地方。
这是我用于相机初始化的代码:
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
Size resolution = PhotoCaptureDevice.GetAvailableCaptureResolutions(CameraSensorLocation.Back).First();//crashes here
camera = await PhotoCaptureDevice.OpenAsync(CameraSensorLocation.Back, resolution);
video.SetSource(camera);
previewTransform.Rotation = camera.SensorRotationInDegrees;
}
调试器说应用程序在该方法的第二行崩溃
您还需要处置相机实例。在包含PhotoCaptureDevice对象的页面中:
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
camera.Dispose();
}