3

私は自分SoundPoolのをセットアップし、次のようにサウンドリソースをロードしますonCreate()

soundPool = new SoundPool(4, AudioManager.STREAM_MUSIC, 0);
soundId = soundPool.load(this, R.raw.edible_underwear, 1);

次に、このサウンドをaonClick()で2回再生しようとします。1つは主に左のスピーカーで遅く、もう1つは主に右のスピーカーで速くなります。

soundPool.play(soundId, 0.9f, 0.1f, 0, -1, 0.7f);
soundPool.play(soundId, 0.1f, 0.1f, 0, -1, 1.5f);

音が出ない。私はボリューム、優先順位、レートをいじりました。これまでのところ役に立たない。明らかな何かが欠けていますか?

4

1 に答える 1

17

SoundPool2 つのバグ/制限があることがわかりました。

  1. 音量は 0.0f から 1.0f までです。1.0f と 0.0f はどちらもミュートなので、音量を 0.99f に制限する必要があります。
  2. SoundPoolRAM に収まらないサンプルを にロードしても、例外がスローされることはなくsoundId、失敗をチェックできる戻り値もありません。そのため、ログを確認し、サンプルがターゲット デバイスに収まるように Android の神々に祈る必要があります。
于 2009-09-17T10:26:58.707 に答える