私はsetNextMediaPlayer()
、ギャップレス再生音楽プレーヤーを作成する方法に取り組んでいます。
setNextMediaPlayer()
はギャップレス再生を可能にする優れた方法ですが、次の曲の情報をレイアウトに更新するのに問題がありました。メソッドを使用する場合、メソッドsetNextMediaPlayer()
を使用して再生を開始する必要がないstart()
ため、再生がいつ開始されるかを正確に把握する方法はありません。または、情報更新方法を入れてonCompletion
いますが、限界があります。
public void onCompletion(MediaPlayer mp) {
Log.d(TAG, "onCompletion():");
displayInfoSingle(nextItem);//refresh albumart and song info.
}
MediaPlayer
オブジェクトの再生開始を検出するリスナーはありますか?
Tarun Varshneyの回答の後に追加>>>
私は次のようにシームレスsetNextMediaPlayer()
に再生するために使用しています。mp2
mp1
mp2 = new MediaPlayer();
mp2.setDataSource(nextItem.getUri());
mp2.setOnCompletionListener(this);
mp2.prepare();
mp1.setNextMediaPlayer(mp2);
mp2
再生前にすでに準備されている可能性があるため、**mp2.prepare();**
必要onPreparedListener
なタイミングで呼び出されません。ofのmp2
パラメータとして設定する他の方法はありますか?setNextMediaPlayer
mp1