2016-03-20 5 views
1

〜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ファイルを使用するなど)いくつかの回避策を試してみたが、問題が解消されません。

可能な回避策を探しています。これにより、再生を何度もシームレスに繰り返すことができます。

+0

MediaCodecを使用して、オーディオをraw pcmにデコードし、それをストリーミングモードAudioTrackにポンピングすることを検討してください。これは些細ではないコードですが、レンダリングされるオーディオを完全に制御することができます。 –

+0

AndroidでこれまでにGaplessのオーディオループを実現できる可能性のある重複の可能性があります(http://stackoverflow.com/questions/26274182/cant-able-to-achieve-gapless-audio-looping-so-far-on-アンドロイド) –

答えて

0

非常に目立つポーズがあります。しかし、私はちょうど2つの同一のプレーヤーを準備し、交互にそれらが次々に終了したときにそれらを開始すると、間隙がはるかに聞き取りにくくなる場合、レベル25を実行するエミュレータの実験を通して発見した。

関連する問題