Ограничения кучи Android SoundPool - PullRequest
2 голосов
/ 09 июня 2011

Я использую SoundPool для загрузки и воспроизведения нескольких звуковых клипов.

Он работает на 100% правильно, насколько я могу судить.Но во время вызовов .load () я получаю спам со своим журналом:

06-09 11:30:26.110: ERROR/AudioCache(23363): Heap size overflow! req size: 1050624, max size: 1048576

Я загружаю в 11 звуковых файлов, из этих 2 очень маленькие ~ 3 КБ, а остальные между 10 КБ - 15 КБ.Windows сообщает:

Размер: 114kb

Размер на диске: 128kb

Раздвигаю ли я границы возможностей SoundPool?Есть ли какие-то настройки, которые я должен изменить, чтобы избежать этого переполнения?Будем весьма благодарны за любые рекомендации о том, как мне настроить мои элементы управления звуком.

1 Ответ

3 голосов
/ 11 октября 2012

SoundPool собирается распаковать загруженный звук в данные PCM, чтобы он мог мгновенно воспроизводиться без задержки декодирования. Если загружаемый вами звук сильно сжат, например, MP3, то он может взорваться совсем немного. Попробуйте кодировать звук как моно, если стерео не требуется (обычно это не для коротких звуковых эффектов).

...