2

SoundPoolを使用して、いくつかのサウンドクリップをロードして再生しています。

私の知る限り、100%正しく機能しています。しかし、.load()呼び出し中に、ログに次のスパムが送信されます。

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

私は11個のサウンドファイルをロードしています。そのうちの2つは非常に小さく、約3kbで、残りは10kbから15kbの間です。Windowsは報告しています

サイズ:114kb

ディスク上のサイズ:128kb

私はSoundPoolが保持できるものの限界を押し広げていますか?このオーバーフローを回避するために変更する必要のある設定はありますか?オーディオコントロールの設定方法に関するガイダンスをいただければ幸いです。

4

2 に答える 2

3

SoundPool はロードされたオーディオを PCM データに解凍するため、デコードの待ち時間なしですぐに再生できるようになります。読み込んでいるオーディオが MP3 のように高圧縮されている場合、かなり圧縮される可能性があります。ステレオが必要ない場合は、オーディオをモノとしてエンコードしてみてください (通常、短い効果音には使用されません)。

于 2012-10-11T03:30:41.343 に答える