Android Exoplayer-在主URL之间连接MediaSource
我正在尝试连接三个视频URL并使用Exoplayer连接MediaSource播放 我所尝试的:Android Exoplayer-在主URL之间连接MediaSource,android,exoplayer,exoplayer2.x,Android,Exoplayer,Exoplayer2.x,我正在尝试连接三个视频URL并使用Exoplayer连接MediaSource播放 我所尝试的: MediaSource mainSource = new ExtractorMediaSource(firstVideoUri, ...); MediaSource secondSource = new ExtractorMediaSource(secondVideoUri, ...); MediaSource thirdSource = new ExtractorMediaSource(third
MediaSource mainSource = new ExtractorMediaSource(firstVideoUri, ...);
MediaSource secondSource = new ExtractorMediaSource(secondVideoUri, ...);
MediaSource thirdSource = new ExtractorMediaSource(thirdVideoUri, ...);
// Plays the first video, then second & third video.
ConcatenatingMediaSource concatenatedSource =
new ConcatenatingMediaSource(mainSource, secondSource, thirdSource);
这一个适用于序列视频播放
我的问题
我的主要来源是电影(约2小时)
我的第二个来源和第三个来源是视频广告(2分钟)
我需要在电影播放30分钟后播放第一个视频广告。
需要播放60分钟后的第二个视频广告
我需要按以下顺序播放3个视频
主电影(前30分钟)->2分钟第一个广告-->主电影(31-60分钟)->2分钟第二个广告-->主电影(61-结束)
我的问题
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);
如何在主url之间连接/播放两个视频url
有人帮我吗。。这个问题让我头痛了16个多小时 我终于从官方的github问题中得到了解决方案 解决方案是-ClippingMediaSource 示例实现
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);