Это сложный вопрос: /
Я создаю музыкальную игру для Android в духе Audiosurf. Все работает хорошо, за исключением нескольких секунд до конца песни (которая воспроизводится обычным MediaPlayer), музыка останавливается, и вся игра (включая пользовательский интерфейс) останавливается на несколько секунд.
Каждый раз, когда это происходит, я вижу ошибку «Воспроизведение AudioHardware PCM переходит в режим ожидания» в logcat.
Поиск в Google привел меня к выводу, что
- Это может быть проблема, относящаяся к HTC Hero (невозможно воспроизвести на эмуляторе или других устройствах)
- это сообщение обычно регистрируется, когда поток http недостаточно быстр для MediaPlayer
- Аудио в Android вообще отстой
Поскольку я уже декодирую mp3 с помощью NDK + libmpg123 для анализа аудио, я мог бы также просто воспроизвести аудио сам (используя очень уродливый интерфейс между кодом NDK C и AudioTrack в Java).
Есть ли исправление / обходной путь для этой ошибки или я действительно должен пойти по этому пути? (У меня есть только ограниченное время для завершения этого проекта)
Я ценю каждый намек!