Wp7:在通话时与相机配合使用

时间:2011-10-29 12:23:51

标签: camera windows-phone-7.1 phone-call

我想创建一个将使用手机相机的应用程序。相机应该不间断地运行很长时间 我可以通过哪种方式管理电话?

例如,我可以在通话过程中继续录制视频,还是应该禁止在拍摄时拨打电话的可能性?
如果第二个是正确的解决方案,我该怎么做?

2 个答案:

答案 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)

不幸的是,在通话时间内无法使用相机 而且我不能通过代码打开飞行模式 我能做的一切 - 它要求用户手动完成 寻找新的更新..