当我在Exoplayer中调用player.seekToDefaultPosition时,如何解决黑屏问题?

时间:2018-12-20 01:21:36

标签: java android exoplayer

我正在研究需要切换视频源的项目,这取决于用户的观点。因此,我在Exoplayer v2中使用了concatenatingmediasource。 我在onPositionDiscontinuity回调中添加了一个新的MediaSource。 但是屏幕短暂会变成黑色,然后开始播放我刚刚添加的MediaSource。 我该如何解决黑色问题?

这是我已经做过的:

player.addListener(new Player.EventListener() {
@override
public void onPositionDiscontinuity(int reason) {
    int latestWindowIndex = player.getCurrentWindowIndex();
    if (latestWindowIndex != lastWindowIndex) {
    // item selected in playlist has changed, handle here
        lastWindowIndex = latestWindowIndex;

        String addString=null;
        addString = new 
        String("/storage/emulated/0/Download/3D_Rio_shark.MP4");
        MediaSource addMediaSource = buildMediaSource(Uri.parse(addString));

        int Size = mediaSource.getSize();
        mediaSource.addMediaSource(lastWindowIndex, addMediaSource, new Runnable() {
           @Override
           public void run() {
           player.seekToDefaultPosition(lastWindowIndex);
        }
     });
   }
  }
});

0 个答案:

没有答案