私の最後の質問は、単純な medaiplayer を使用した場所で回答されていないため (複数のサウンドを連続して再生すると、サウンドが無音のままになることがあります。なぜですか? )、SoundPool を使用して全体を作成しようとしました。しかし、ほとんど同じことが起こりますが、エラーが発生します
AudioFlinger could not create track, status: -12
Error creating AudioTrack
最大で 32 のサウンドをサウンドプールのメモリに保存できると読んだ場合、エラーが発生します。そうです、32 番目のサウンドの後、常にエラーが発生するため、どのサウンドも再生できません。では、SoundPool で 32 を超えるサウンドを使用するにはどうすればよいでしょうか? それぞれに 20 のサウンドを含む 3 つのサウンドプールを使用しようとしましたが、常に他のプールからすべてのサウンドをアンロードします。
mSoundPoolMapV1.clear(); //clearing HashMap
for(int i=1;i<15;i++){
mSoundPoolV1.unload(i);
}
しかし、同じエラーが再び発生します。(私は 44.1k の代わりに 22k サウンドを使用しています。これで解決できると読みましたが、何も起こりませんでした) mediaplayer でも soundpool でも 50 くらいのサウンドを再生できないのは一体何なのですか? そんなことがあるものか??
とrelease()
:
mSoundPoolMap.clear();
for(int i=1;i<50;i++){
mSoundPool.unload(i);
}
mSoundPool.release();
mSoundPoolMap.put(1, mSoundPool.load(Main.this, R.raw.sound1, 1));
...
mSoundPoolMap.put(50, mSoundPool.load(Main.this, R.raw.sound50, 1));
だから私は hashmp をクリアし、すべてのサウンドをアンロードしてから、サウンドプールを解放します。次に、ハッシュマップを再度入力しますが、今ではまったく音が出ません。私は何かを逃す必要があります、何を教えてもらえますか?