У меня есть приложение на Android Market, и я использую классы SoundPool для звуковых эффектов. Я заметил, что из всех частей Android API это, кажется, вызвало у меня больше всего проблем. Например:
HTC Desire имеет проблемы с воспроизведением файлов WAV (это приводит к случайной блокировке). Использование файлов .ogg исправляет это
На Droid при превышении количества каналов в вызове init setup:
mSoundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);
трубка заблокировалась. Если вы можете себе представить сложность отладки этого! На телефоне, которого у меня нет. Это потребовало большой бескорыстной помощи от моих клиентов. Замена «4» на «16» устранила проблему. Я не сомневаюсь, что если бы одновременно воспроизводились 16 звуков, он бы все равно вылетел. Благо шансы на это невелики.
- Также возникают случайные сбои на различных устройствах. У меня есть каталог от одного из моих клиентов, в котором есть ошибки «Переполнение кучи», относящиеся к воспроизведению звуков.
Теперь я изменил свой звуковой менеджер, чтобы использовать MediaPlayer. Кажется, сейчас это работает нормально. Мне просто интересно, есть ли у других разработчиков такие проблемы?