Воспроизведение аудио в фоновом режиме с помощью BackgroundCapableMedia - PullRequest
2 голосов
/ 05 марта 2012

В превью Windows 8 Developer мы можем использовать этот код для воспроизведения аудио в фоновом режиме:

mediaElement.AudioCategory = AudioCategory.Media;

В представлении клиента Windows8 кажется, что мы должны использовать AudioCategory.BackgroundCapableMedia вместо AudioCategory.Media

mediaElement.AudioCategory=AudioCategory.BackgroundCapableMedia;

и я также объявляю фоновое задание в appxmanifest

<Extension Category="windows.backgroundTasks" EntryPoint="TestApp.App">
      <BackgroundTasks>
            <Task Type="audio" />
      </BackgroundTasks>
</Extension>

, но у меня это не сработало, и MediaElement сгенерирует исключение «MF_MEDIA_ENGINE_ERR_SRC_NOT_SUPPORTED» в MediaFailed EventHandler Как мне быть?

1 Ответ

3 голосов
/ 27 апреля 2012

Вам также необходимо настроить следующие обработчики событий:

using Windows.Media;

MediaControl.PlayPressed += MediaControl_PlayPressed;
MediaControl.PausePressed += MediaControl_PausePressed;
MediaControl.PlayPauseTogglePressed += MediaControl_PlayPauseTogglePressed;
MediaControl.StopPressed += MediaControl_StopPressed;

-

void MediaControl_StopPressed(object sender, object e)
{
    myMediaPlayer.Stop();
}

void MediaControl_PlayPauseTogglePressed(object sender, object e)
{
}

void MediaControl_PausePressed(object sender, object e)
{
    myMediaPlayer.Pause();
}

void MediaControl_PlayPressed(object sender, object e)
{
    myMediaPlayer.Play();
}

Я думаю, что это должно работать.

...