MediaCapture + CaptureElement жизненный цикл / управление навигацией

Это в приложении Windows Phone 8.1 Store. мойMainPage имеетCaptureElement отобразить поток предварительного просмотра из моегоMediaCapture объект. Для навигации внутри приложения (между страницами) это работает хорошо:

MediaCapture mc;

protected override async void OnNavigatedTo(NavigationEventArgs e)
{
   mc = new MediaCapture();
   await mc.InitializeAsync();
   preview.Source = mc;
   await mc.StartPreviewAsync();
}

protected override async void OnNavigatedFrom(NavigationEventArgs e)
{
   await mc.StopPreviewAsync();
}

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

Пользователь нажимает кнопку Windows, затем кнопку назадПользователь нажимает кнопку Windows, а затем использует переключатель задач, чтобы вернуться в мое приложениеПользователь нажимает кнопку поиска, затем кнопку возвратаПользователь нажимает кнопку питания, затем нажимает ее снова и проводит пальцем вверх, чтобы разблокировать устройствоПользователь нажимает кнопку «Назад», чтобы войти в переключатель задач, а затем снова нажимает на мое приложение.

После каждого из вышеуказанных действий (и / или их комбинаций) при возврате моего приложения предварительный просмотр останавливается на последнем отображенном кадре.

Если пользователь затем перейдет на другую страницу и затем вернется на главную страницу, предварительный просмотр снова запустится без проблем, и это наводит меня на мысль, что мне просто нужно остановить / запустить предварительный просмотр после возвращения из одного из вышеуказанных сценариев.

Я пытался подписаться наApp.Suspending а такжеApp.Resuming события, но они не срабатывают в этих случаях. Что мне не хватает?

Ответы на вопрос(2)

Ваш ответ на вопрос