1

私は100の効果音のコレクションであるAndroidアプリケーションを開発しています。たとえば25のサウンドを再生した後、再生できなくなり、アプリケーションを閉じて数分待ってからアプリケーションを開く必要があります。これで、他のサウンドを再生できるようになります。

final MediaPlayer mp81 = MediaPlayer.create(MainActivity.this, R.raw.a81);

以下のコードを使用してサウンドを再生します。

mp81.start();

以下のコードを使用してサウンドの再生を停止します。

mp81.seekTo(0);

私もstop()方法を使用しましたが、問題はまだ存在していました。追加しなければならない他の方法はありますか?

4

1 に答える 1

2

注意:短いサウンドの再生にはSoundPoolの使用を検討してください。

ユースケースについて:MediaPlayer静的メソッドを使用してインスタンスを初期化します。つまり、既存のインスタンスを再利用してデータソースを変更するだけでなく、サウンドごとcreate()に新しいオブジェクトを作成します。MediaPlayerこれは、アプリのパフォーマンスに悪影響を与える可能性があります。MediaPlayerサウンドへのパスの配列を作成してから、次のようにインスタンス化することをお勧めします。

MediaPlayer mp = new MediaPlayer();
try {
     mp.setDataSource(yourArray[x]);
     mp.prepare();
     mp.start();
  } catch(Exception e){
    e.printStackTrace();
  }

詳細については、MediaPlayerドキュメントを参照してください。

于 2013-03-08T10:50:49.380 に答える