0

特定のサウンドを再生する Android アプリケーションを作成しました。次の音が再生されていて、それを成功させた場合、音を止めたい

 public     void w1() throws IllegalArgumentException, SecurityException, IllegalStateException, IOException{
         mediaPlayerW.reset();
mediaPlayerW.setDataSource(MainActivity.this, Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.w1));
 mediaPlayerW.prepare();
mediaPlayerW.start();}


    public void onClick(View f) {

if(f == button1) 
            {w1();}}

[他のメソッドは w2 と呼ばれます。w3; w4 (...)] ですが、1 つのサウンドだけに取り掛かりましょう。

これまでのところ、すべてのボタンの音はそれ自体を「チョーク」することができ(そして最初から再び再生を開始することができます)、彼は他の音を止めるので、常に「新しい」音だけが再生されます.

私が今得た問題は、ボタンを押すと少し中断することです (~100ms)。40 ミリ秒でも、音楽アプリケーションには高すぎます。サウンドをキャッシュなどにプリロードすることは可能ですか? 私は .reset() にほとんどの時間がかかると思います..

助けてくれてありがとう

4

1 に答える 1

1

この遅延の問題は古いバージョンでは解決できないことがわかりましたが、Android 4.1 以降では、はるかにうまく機能する別のオーディオ ドライバーがあります。gTab 2.0 で試してみましたが、フィードバックは非常に高速です。

4.1 の新しいオーディオ機能は以前のものと同じように機能しますが、はるかに高速です。

于 2013-04-06T13:27:53.053 に答える