2010-11-27 1 views
4

Это жесткая один:/Android MediaPlayer вызывает игра замораживать с «воспроизведение AudioHardware РСМ собирается в режим ожидания»

Я делаю музыку на основе Android игры а-ля Audiosurf. Он отлично работает, за исключением нескольких секунд до конца песни (которая воспроизводится с помощью обычного MediaPlayer) музыка перестает аппетитно, и вся игра (включая пользовательский интерфейс) замерзает в течение нескольких секунд.

Каждый раз, когда это происходит, я вижу, что «воспроизведение аудио-файлов AudioHardware в режиме ожидания» - «ужас» в логарифме.

Googling привела меня к выводу, что

  • это может быть HTC Hero конкретный вопрос (не могут быть воспроизведены на эмуляторе или других устройств)
  • это сообщение, как правило, регистрируется при HTTP поток ISN» т достаточно быстро для MediaPlayer
  • Аудио в Android отстой вообще

Как я декодировании mp3 с NDK + libmpg123 для аудио анализа я уже мог Aswell JUS t воспроизводить звук сам (используя очень уродливый интерфейс между кодом NDK C и AudioTrack в Java).

Есть ли исправление/обходное решение для этой ошибки, или я должен идти именно так? (У меня осталось только время для завершения этого проекта)

Я ценю каждый намек!

+0

Текущий обходной путь: вымыть песню за 3 секунды до ее окончания и остановить ее. – 2010-11-28 20:00:32

ответ

0

Возможно, вы остановите музыку, когда буферизуете все это в своем коде на C. Поскольку у AudioTrack есть задержка в этом, вам может потребоваться больше времени для его завершения.

Мне нужна дополнительная информация о вашем коде, чтобы помочь.

+0

Я думаю, что я неправильно понял ваш вопрос. Если это происходит только на конкретном устройстве, то мой ответ, вероятно, не поможет. – 2011-03-13 21:26:42