Javascript 当我返回wp8中的应用程序时,是否恢复相机?
我是windows phone 8应用程序开发人员,我的问题是如何恢复摄像头?基本上,摄像头是我应用程序的第一页,当我切换到手机中的其他功能时,当我返回应用程序时,摄像头页面变黑 好的,我在我的一个应用程序中也遇到了同样的问题,出现这个问题是因为photocamera对象的实例没有正确刷新,并且该不正确的对象被重新分配到视频画笔,这使得事情变得出乎意料 你能做的最好的事情是 使用以下代码行重写OnNavigatedTo事件Javascript 当我返回wp8中的应用程序时,是否恢复相机?,javascript,asp.net-mvc,html,css,windows-phone-7,Javascript,Asp.net Mvc,Html,Css,Windows Phone 7,我是windows phone 8应用程序开发人员,我的问题是如何恢复摄像头?基本上,摄像头是我应用程序的第一页,当我切换到手机中的其他功能时,当我返回应用程序时,摄像头页面变黑 好的,我在我的一个应用程序中也遇到了同样的问题,出现这个问题是因为photocamera对象的实例没有正确刷新,并且该不正确的对象被重新分配到视频画笔,这使得事情变得出乎意料 你能做的最好的事情是 使用以下代码行重写OnNavigatedTo事件 protected override void OnNavigated
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
if (myCamera != null) // myCamera=PhotoCamera Object
{
//Unsubscribing the events
myCamera.AutoFocusCompleted -= OnCameraAutoFocusCompleted;
myCamera.Initialized -= myCamera_Initialized;
myCamera.CaptureCompleted -= new EventHandler<CameraOperationCompletedEventArgs>(camera_CaptureCompleted);
myCamera.CaptureImageAvailable -= new EventHandler<Microsoft.Devices.ContentReadyEventArgs>(camera_CaptureImageAvailable);
}
viewfinderBrush = null;//viewfinderBrush =VideoBrush Onject
canvasCameraView.Background = null; //canvasCameraView=Canvas Control I Used
myCamera = null;
viewfinderBrush = new VideoBrush();
CompositeTransform ct = new CompositeTransform();
ct.CenterX = .5;
ct.CenterY = .5;
ct.Rotation = 90;
viewfinderBrush.RelativeTransform = ct;
canvasCameraView.Background = viewfinderBrush;
myCamera = new Microsoft.Devices.PhotoCamera(CameraType.Primary);
viewfinderBrush.SetSource(myCamera);
myCamera.Initialized += myCamera_Initialized;
myCamera.CaptureCompleted += new EventHandler<CameraOperationCompletedEventArgs>(camera_CaptureCompleted);
myCamera.CaptureImageAvailable += new EventHandler<Microsoft.Devices.ContentReadyEventArgs>(camera_CaptureImageAvailable);
}
受保护的覆盖无效OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
如果(myCamera!=null)//myCamera=PhotoCamera对象
{
//取消订阅活动
myCamera.AutoFocusCompleted-=OnCameraAutoFocusCompleted;
myCamera.Initialized-=myCamera\u Initialized;
myCamera.CaptureCompleted-=新事件处理程序(camera\u CaptureCompleted);
myCamera.CaptureImageAvailable-=新事件处理程序(camera\u CaptureImageAvailable);
}
viewfinderBrush=null;//viewfinderBrush=VideoBrush Onject
canvasCameraView.Background=null;//canvasCameraView=我使用的画布控件
myCamera=null;
viewfinderBrush=新的VideoBrush();
CompositeTransform ct=新CompositeTransform();
ct.CenterX=.5;
ct.CenterY=.5;
ct旋转=90;
viewfinderBrush.RelativeTransform=ct;
canvasCameraView.Background=viewfinderBrush;
myCamera=新的Microsoft.Devices.PhotoCamera(CameraType.Primary);
viewfinderBrush.SetSource(myCamera);
myCamera.Initialized+=myCamera\u Initialized;
myCamera.CaptureCompleted+=新事件处理程序(camera\u CaptureCompleted);
myCamera.CaptureImageAvailable+=新事件处理程序(camera\u CaptureImageAvailable);
}
这是xaml
<Canvas.Background>
<VideoBrush x:Name="viewfinderBrush">
<VideoBrush.RelativeTransform>
<CompositeTransform x:Name="viewfinderBrushTransform" CenterX=".5" CenterY=".5" Rotation="90" />
</VideoBrush.RelativeTransform>
</VideoBrush>
</Canvas.Background>
<StackPanel Name="stkLoading" Height="50" Canvas.Top="245" Visibility="Collapsed">
<TextBlock Foreground="Red" Text="Scanning.." HorizontalAlignment="Center"/>
<ProgressBar IsIndeterminate="True" Width="480"/>
</StackPanel>
</Canvas>
我希望它能有所帮助它是一个光影相机对象还是一个CameraCaptureTask?它是一个光影相机对象。在我的回答中添加其他内容我很高兴,祝你一切顺利:)