我正在尝试使用android中的ExoPlayer播放本地视频,但是当我一个接一个地尝试两个视频时,第一个视频的音频继续播放而第二个视频没有播放,我该如何解决问题
SimpleExoPlayer exo;
public playVideo(Url url,String type){
if (type.equals("VideoStart")) {
Timber.i("VideoStart");
File file = new File(url);
Uri localUri = Uri.fromFile(file);
exo = new SimpleExoPlayer.Builder(context).build();
exo.setPlayWhenReady(true);
playerView.setPlayer(exo);
MediaSource mediaSource = buildMediaSource(localUri, context);
exo.prepare(mediaSource, true, false);
} else if (type.equals("VideoEnd")) {
Timber.i("VideoEnd");
if (exo != null) {
Timber.i("ExoStopped");
exo.setPlayWhenReady(false);
exo.stop();
exo.seekTo(0L);
exo.release();
exo = null;
}
}
}
private static MediaSource buildMediaSource(Uri uri, Context context) {
return new ProgressiveMediaSource.Factory(new DefaultDataSourceFactory(context, Util.getUserAgent(context, "ExoPlayerDemo"))).createMediaSource(uri);
}
调用方法
playVideo(/storage/emulated/0/Android/data/com.exoplayer/files/Files/test.mp4,"VideoStart");
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
playVideo(/storage/emulated/0/Android/data/com.exoplayer/files/Files/test.mp4,"VideoEnd");
playVideo(/storage/emulated/0/Android/data/com.exoplayer/files/Files/second.mp4,"VideoStart");
}
}, 10000);