Windows Phone 8 - media.Play() получает исключение UnauthorizedAccessException на заблокированном экране
Я пытаюсь написать свое самое первое приложение для Windows Phone, и я застрял на чем-то. У меня никогда не было опыта работы с C# раньше.
Приложение представляет собой простой таймер обратного отсчета, который воспроизводит звук в конце.
Это приложение для Windows Phone 8. Я создал его с помощью Visual Studio 2015, используя: новый проект> Шаблоны> Visual C# > Windows > Windows 8 > Windows Phone > Пустое приложение
Я добавил фоновую задачу со звуком в объявлениях в Package.appxmanifest
Я использую MediaElement в MainPage.xaml
<MediaElement Name="media"
AudioCategory="BackgroundCapableMedia"
Source="Audio/bell.mp3" AutoPlay="False" />
Я добавил Audio/bell.mp3 в проект.
Я использую DispatchTimer, как это
DispatcherTimer timer = new DispatcherTimer();
timer.Interval = new TimeSpan(0, 0, 0, 1);
timer.Tick += new EventHandler<object>(timer_Tick);
void timer_Tick(object sender, object e)
{
if (tik > 0)
tik--;
progress.Value = progress.Maximum - tik;
if(tik <= 0)
{
timer.Stop();
media.Play();
}
}
Он отлично работает с разблокированным экраном, звуки воспроизводятся в конце времени.
Однако, если я блокирую экран до истечения времени, таймер продолжает работать (и это прекрасно), но когда время истекло, я получаю исключение System.UnauthorizedAccessException для media.Play();
Additional information: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
Я не понимаю, почему мне отказывают в доступе только на заблокированном экране. Что мне нужно сделать, чтобы это изменить? Мне бы очень хотелось, чтобы звук воспроизводился на заблокированном экране, чтобы уведомить пользователя о том, что время истекло.
Я пытался включить приложение в режиме блокировки экрана.
PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetectionMode.Disabled;
в App.xaml.cs, но я получаю
The name PhoneApplicationService does not exist in this context
и я не могу добавить Microsoft.Phone.dll, в противном случае я не могу развернуть приложение на телефоне...