Я бы прекратил запись во время разговора, поскольку это было бы плохо для пользователя и бесполезно разряжало аккумулятор устройства.
Присоединение к событиям корневого фрейма 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