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
события, но они не срабатывают в этих случаях. Что мне не хватает?