WP7 фоновые аудио ресурсы больше не доступны

Я использую BackgroundAudioPlayer для моего музыкального и видео приложения для Windows Phone 7. После того, как я играю музыку, я играю видео, используя MediaPlayerLauncher, затем нажмите Назад, чтобы вернуться к моему приложению. Там всякий раз, когда я использую BackgroundAudioPlayer.Instance, Я получаю сообщение об ошибке "Фоновые аудио ресурсы больше не доступны".

Кто-то в MSDN предлагает использовать try/catch, но это не очень хорошая идея и может замедлить работу приложения.

Посоветуете позвонить BackgroundAudioPlayer.Instance.Close() перед запуском MediaPlayer, Однако, когда я играю музыку, агент снова загружает.dll, что занимает очень много времени.

Как это исправить?

1 ответ

Решение

Если вы воспроизводите видео после аудио, ОС определенно "прервет" ваш фоновый аудиоплеер. Из вашего вопроса кажется, что это воспроизводимо в 100% случаев, что подтвердит это. Единственный вариант - перезапустить фоновый аудиоплеер после того, как вы BackgroundAudioPlayer.Instance.Close(), а затем воспроизвел ваше видео. Что, как вы сказали, потребует перезагрузки DLL вашего плеера при запуске BAP.

Обновление после комментариев

Если вы не используете потоковый аудиоагент, а только агент AudioPlayer, вы все равно не сможете убить процесс. ОС ускоряет процесс по мере необходимости, чтобы заставить вас обработать действие (например: действие пользователя, отслеживание завершено, завершение работы).

BackgroundAudioPlayer.Instance.Close() просто гарантирует, что операционная система освобождает эти ресурсы чисто в сценарии, таком как OP.

Чтобы перезапустить фоновый звук, просто позвоните BackgroundAudioPlayer.Instance.Play() снова.

Другие вопросы по тегам