2

ボタンを押すたびに音を鳴らしたい。

問題は、速く押すと音が鳴る場合がありますが、鳴らない場合もあります。

ボタンを20回押すと(非常に速く)、サウンドは理想的には20回再生されます。しかし、何が起こるかというと、サウンドが完了するまでの時間がないということです。平均して8〜9回再生されます。

mediaPlayerオブジェクトを初期化しました。そして、これはうまくいくようです。

mp1.start();

次のコードも試してみましたが、初めて音が鳴ります。その後、サウンドは再生されません。

if(mp1.isPlaying())
    mp1.stop();
    mp1.start();
4

1 に答える 1

9

問題は、MediaPlayerクラスは比較的重いオブジェクトであり、小さなファイルを短い間隔で再生するのには適していない可能性があることです。したがって、SoundPoolを使用することをお勧めします。

SoundPoolは比較的軽量なオブジェクトであり、あなたのケースに役立ちます。

これに基づくサンプルは次のとおりです。

http://www.vogella.com/articles/AndroidMedia/article.html#tutorial_soundpool

于 2012-05-31T12:38:06.703 に答える