Exoplayer - 主URL之间的ConcatenatingMediaSource

时间:2017-09-26 12:17:38

标签: android exoplayer exoplayer2.x

我正在尝试连接三个视频网址并与Exoplayer ConcatenatingMediaSource 一起玩。

我的尝试:

lastName

这个适用于序列视频播放。

我的问题

我的主要资源是电影(约2小时)

我的第二个来源& thirdSource是视频广告(2分钟)

我需要在播放30分钟电影后播放第一个视频广告。 并且需要在播放60分钟电影后播放第二个视频广告。

我需要按照以下顺序播放3个视频

主要电影(前30分钟) - >首播广告2分钟 - >主电影(31-60分钟) - > 2分钟的第二个广告 - >主要电影(61-结束)

我的问题

如何在主网址之间连接/播放两个视频网址?

任何人都帮帮我..超过16个小时头痛这个问题。

1 个答案:

答案 0 :(得分:2)

最后我从官方的github问题中得到了解决方案

https://github.com/google/ExoPlayer/issues/3299

解决方案是 - 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);