WP7 как запустить процесс аудио агента

Я использую агент BackgroundAudioPlayer для своего приложения Windows Phone 7. Я знаю, что класс AudioPlayer живет в другом процессе (назовем его процессом звукового агента).

Я слышал, что «теоретически процесс для агента аудиоплеера может быть запущен и остановлен в любое время».

Иногда, когда я нажимаю кнопку воспроизведения в своем пользовательском интерфейсе, кажется, что процесс агента НЕ запускается, и код агента не получает никакого события OnUserAction. И это заставляет мое приложение вести себя неправильно.

Я хочу, чтобы процесс агента был готов, когда я хочу воспроизвести музыку. Как это исправить?


person onmyway133    schedule 29.11.2012    source источник
comment
Один и тот же код иногда работает? Или никогда не запускается?   -  person keyboardP    schedule 29.11.2012
comment
@keyboardP проблема иногда возникает. Кажется, что процесс агента требует некоторого времени для запуска. И это вызывает неожиданное поведение.   -  person onmyway133    schedule 29.11.2012
comment
Если вы не можете воспроизвести это, я не уверен, что это может быть из предоставленной информации. Может ли это быть связано с этим? stackoverflow.com/questions/7269070/   -  person keyboardP    schedule 29.11.2012
comment
@keyboardP проблема иногда возникает, когда я открываю свое приложение. Агент не запускается. Но если после этого я вызову какой-нибудь UserAction (Play, SkipNext, SkipPrevious,...), он запустится   -  person onmyway133    schedule 30.11.2012
comment
Что, если вы вызовете Stop при запуске приложения только для его инициализации?   -  person keyboardP    schedule 30.11.2012
comment
@keyboardP Иногда кажется, что агент НИКОГДА не запускается и не может получить какое-либо событие UserAction или StateChanged!   -  person onmyway133    schedule 01.12.2012


Ответы (1)


Может быть, вам нужно запустить воспроизведение звука внутри диспетчера? Что-то вроде следующего:

Dispatcher.BeginInvoke( () => { StartAudioOrSoOn(); });

Попробуйте проверить примеры, предоставленные Microsoft для разработчиков Windows Phone:

Примеры Windows Phone: обучение с помощью кода

person RredCat    schedule 24.12.2012