WP7 Mango: Как обработать пропуск следующего / предыдущего из UVC вне библиотеки классов Audio Playback Agent? - PullRequest
1 голос
/ 16 августа 2011

Информация об агенте воспроизведения аудио Windows Phone кажется немного скудной, и единственная настоящая статья, которую я могу найти, - это статья MSDN .

К сожалению, реализация в примере не является практичной для большинства приложений, поскольку они используют статический список AudioTracks, содержащийся в библиотеке классов Audio Playback Agent. Для большинства приложений я бы предположил, что у них будет динамический список AudioTracks, управляемых в основном проекте приложения (т. Е. View Model или что-то подобное). Однако проблема здесь заключается в том, что агенту воспроизведения аудио не представляется эффективным способом связи с остальной частью приложения. Я знаю, что могу зарегистрироваться для события BackgroundAudioPlayer.Instance.PlayStateChanged, но для SkipPrevious или SkipNext нет событий.

Спрашивается просто - если вы управляете вашими AudioTracks за пределами проекта агента воспроизведения аудио, как вы можете справиться, когда пользователь использует кнопки SkipPrevious / SkipNext на универсальном регуляторе громкости (UVC)?

1 Ответ

1 голос
/ 16 августа 2011

Вам нужно переместить логику вокруг того, какие дорожки воспроизводить в агент (или в библиотеку, которую может использовать агент). Это необходимо, так как агент должен работать без ошибок, даже если приложение не запущено.

Единственный способ отследить, что происходит в агенте из вашего приложения, - подписаться на событие BackgroundAudioPlayer.Instance.PlayStateChanged. Это будет срабатывать при использовании универсальных элементов управления.

Как вы заметили, это значительно ограничивает объем информации, которую вы можете включить в приложение (например, по сравнению с MediaElement).

Важно Будьте осторожны, чтобы любая логика, которую вы перемещаете в агент (или библиотеку, на которую ссылается агент), не использовала какой-либо из API-интерфейсов с ограничениями , даже если они находятся в сборка, на которую ссылается агент и которая не используется, статический анализ агента, выполненный по сертификации на рынке, приведет к сбою.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...