我正在研究需要切换视频源的项目,这取决于用户的观点。因此,我在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);
}
});
}
}
});