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()
снова.