Воспроизведение Android AudioHardware PCM будет в режиме ожидания - PullRequest
1 голос
/ 15 июня 2010

Иногда, когда в моем приложении много чего происходит, и я использую несколько звуков с помощью SoundPool, мое приложение просто полностью зависает.Глядя на логи, я вижу это: I / AudioHardwareMSM72XX (56): воспроизведение AudioHardware PCM будет в режиме ожидания.

Мое приложение должно быть принудительно закрыто и перезапущено.Кто-нибудь знает, что может быть причиной этого или возможного обходного пути?Я не могу воспроизвести это в эмуляторе - только на моем HTC Hero, поэтому мне интересно, может ли это быть ошибка конкретного устройства.

1 Ответ

1 голос
/ 17 мая 2011

Есть две возможные причины этого.

Причина 1: Если вы не держите ссылку на ваш объект MediaPlayer, он может собрать мусор, даже если он что-то проигрывает.У меня есть код в повторяющемся таймере, который воспроизводит звук, мне пришлось назначить MediaPlayer статической переменной, чтобы он не собирался мусором, и проблема остановки звука на полпути исчезла.

Причина2: Я читал, что если вы используете потоковую передачу, вы можете дать MediaPlayer слишком много данных, и он умрет - см. Эту ветку обсуждения: / 593575 "> http://www.last.fm/group/Last.fm+Android/forum/114391//593575

...