我想创建一个将使用手机相机的应用程序。相机应该不间断地运行很长时间 我可以通过哪种方式管理电话?
例如,我可以在通话过程中继续录制视频,还是应该禁止在拍摄时拨打电话的可能性?
如果第二个是正确的解决方案,我该怎么做?
答案 0 :(得分:1)
我会在通话过程中停止录音,因为这会带来糟糕的用户体验,并且会无用地耗尽设备电池。
附加到Obscured / UnObscured根帧事件。当您接到电话时,应用程序将被遮挡(呼叫消息框位于前台)。现在是时候处理相机并从相机事件中分离出来了。
一旦通话完成后举起UnObscured事件,您可以像这样重启相机:
VideoBrush videoBrush = new VideoBrush();
// Check to see if the camera is available on the device.
if ((PhotoCamera.IsCameraTypeSupported(CameraType.Primary) == true))
{
// Otherwise, use standard camera on back of device.
PhotoCamera camera = new Microsoft.Devices.PhotoCamera(CameraType.Primary);
// Event is fired when the PhotoCamera object has been initialized.
m_camera .Initialized += new EventHandler<Microsoft.Devices.CameraOperationCompletedEventArgs>(camera_Initialized);
//Set the VideoBrush source to the camera.
camera .SetSource(m_camera);
}
事件:
void camera_Initialized(object sender, Microsoft.Devices.CameraOperationCompletedEventArgs e)
{
if (e.Succeeded)
{
this.Dispatcher.BeginInvoke(delegate()
{
//this makes sure that you can use the camera after tombstone
});
Debug.Writeline("The camera_Initialized" + e.Succeeded.ToString());
}
}
此外,您需要将自己附加到其他捕获事件: 见下文 http://msdn.microsoft.com/en-us/library/hh202956%28v=VS.92%29.aspx
答案 1 :(得分:0)
不幸的是,在通话时间内无法使用相机 而且我不能通过代码打开飞行模式 我能做的一切 - 它要求用户手动完成 寻找新的更新..