2017-11-07 16 views
0

Exo-playerでConcatenatingMediaSourcesを1つずつ自動再生する必要があります。ExoplayerでConcatenatingMediaSourcesを自動再生する方法は?

マイConcatenatingMediaSourceコード:

MediaSource movieMediaSource = MyExoPlayer.getMediaSourceFromUrl(StreamPlayerActivity.this, mLiveURL); 
long oneMinute = 1000 * 1000 * 60 ; 
ClippingMediaSource videoSource1 = new ClippingMediaSource(movieMediaSource, 0, oneMinute,false); 
ClippingMediaSource videoSource2 = new ClippingMediaSource(movieMediaSource, oneMinute, 2 * oneMinute,false); 
ClippingMediaSource videoSource3 = new ClippingMediaSource(movieMediaSource, 2 * oneMinute, 10 * oneMinute,false); 

MediaSource adVideoSource1 = MyExoPlayer.getMediaSourceFromUrl(StreamPlayerActivity.this, mPromoVideoURL1); 
MediaSource adVideoSource2 = MyExoPlayer.getMediaSourceFromUrl(StreamPlayerActivity.this, mPromoVideoURL2); 
ConcatenatingMediaSource concatenatingMediaSource = new ConcatenatingMediaSource(videoSource1, adVideoSource1, videoSource2, adVideoSource2, videoSource3); 

私のプレイヤーが準備:私は現在)(onPlayerStateChangedに次のコードを使用しています何

mExoPlayer.prepare(mediaSource, false, false); 

if (playWhenReady && (playbackState == PlaybackStateCompat.STATE_PAUSED)) 
{ 
mExoPlayer.seekToDefaultPosition(mTrack); 
mTrack++; 
} 

を私はトラックを求めますポジション。

これは手動検索です。しかし、私は次々に自動再生したい。

Exoplayerオプションを自動再生することはできません。誰でも助けてください。

+0

onPlayerStateChanged()で何もしないでください。 ExoPlayerはconcatenatingMediaSourceの次のアイテムを自動的に再生します。 – androidlab

+0

@androidlabそれは自動的に私のために再生されません。いくつかのサンプルを共有することができますpls ..私は私のmExoPlayer.prepare(mediaSource、false、false)これは間違っていると思う?? –

+0

はい、player.prepare(concatenatingMediaSource)です。これは動作するはずです – androidlab

答えて

1

、player.prepare(concatenatingMediaSource)を使用してください。これはうまくいくはずです。

関連する問題