Exoplayer会继续播放音频,即使之后视频停止



我正在使用外部播放器,我注意到当我在一个活动中播放视频,然后按下按钮切换到另一个活动时,视频本身会停止播放,以便切换到新活动,但音频会继续播放。如果我回到旧的活动并再次播放视频,音频仍在播放+我听到再次播放视频的音频,并在歌曲的不同时间同时听到两次音频。

String url = model.getVideo();
try {
BandwidthMeter bandwidthMeter= new DefaultBandwidthMeter();
TrackSelector trackSelector = new DefaultTrackSelector(new AdaptiveTrackSelection.Factory( bandwidthMeter));
holder.exoPlayer= ExoPlayerFactory.newSimpleInstance( LiFit.getContext(),trackSelector );
Uri videouri = Uri.parse(model.getVideo());
DefaultHttpDataSourceFactory dataSourceFactory = new DefaultHttpDataSourceFactory("exoplayer_video");
ExtractorsFactory extractorsFactory= new DefaultExtractorsFactory();
MediaSource mediaSource = new ExtractorMediaSource(videouri,dataSourceFactory,extractorsFactory,null,null);
holder.videoView.setPlayer(holder.exoPlayer);
holder.exoPlayer.prepare(mediaSource);
//holder.exoPlayer.setPlayWhenReady(true);
} catch (Exception e) {
//Nichts
}

这就是我正在使用的代码,有人知道这个问题的解决方案吗?

外部播放器有一个方法setPlayWhenReady,可用于播放/暂停媒体,以及一个在不再需要播放器时释放的方法。

切换到其他活动时,可以使用这些方法。

最新更新