〜30秒のオーディオトラックを複数回ループさせようとしています。私はその後、呼び出しMediaPlayerをループする間に少し休止します
mAnimalMediaPlayer = MediaPlayer.create(mContext, fish.getSound());
:
mAnimalMediaPlayer.setLooping(true);
mAnimalMediaPlayer.start();
を再生ボタンがクリックされたとき、私はここに、その作成されたコードは、サウンドを再生するためにMediaPlayer
を使用しています。トラックがループすると、トラックの終了と新しいループの開始との間に、小さいながら目立つポーズがあります。使用しているオーディオファイルに実際の一時停止が含まれていないことは肯定的です。
はここにいくつかの時間のためにアップしてきたアンドロイドのバグレポートです:https://code.google.com/p/android/issues/detail?id=18756
私は(そのような代わり.mp3
の.ogg
ファイルを使用するなど)いくつかの回避策を試してみたが、問題が解消されません。
可能な回避策を探しています。これにより、再生を何度もシームレスに繰り返すことができます。
MediaCodecを使用して、オーディオをraw pcmにデコードし、それをストリーミングモードAudioTrackにポンピングすることを検討してください。これは些細ではないコードですが、レンダリングされるオーディオを完全に制御することができます。 –
AndroidでこれまでにGaplessのオーディオループを実現できる可能性のある重複の可能性があります(http://stackoverflow.com/questions/26274182/cant-able-to-achieve-gapless-audio-looping-so-far-on-アンドロイド) –