Wp7: работает с камерой во время звонка - PullRequest
0 голосов
/ 29 октября 2011

Я хочу создать приложение, которое будет использовать камеру телефона.Камера должна работать в течение длительного времени без перерыва.
Каким образом я могу управлять телефонными звонками?

Например, могу ли я продолжить запись видео во время разговора или я просто должен отключить возможностьсделать звонок во время съемок?
Если второе решение является правильным, как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 31 октября 2011

Я бы прекратил запись во время разговора, поскольку это было бы плохо для пользователя и бесполезно разряжало аккумулятор устройства.

Присоединение к событиям корневого фрейма 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

0 голосов
/ 31 октября 2011

К сожалению, во время разговора невозможно работать с камерой.
Более того, я не могу включить режим полета по коду.
Все, что я могу сделать - это попросить пользователя сделать это вручную.
Ищете новое обновление ..

...