NoN*_*aMe 6 video android exoplayer
我在其中一项活动中添加了 ExoPlayer 来播放视频并且它工作正常。但是当视频正在播放并且用户按下返回按钮时,视频仍然在后台继续播放。我希望它被阻止。我尝试捕获后退按钮并尝试暂停视频,但它不起作用。除非您终止活动,否则视频会一直播放直到结束。这是一个错误还是图书馆应该如何工作?
这是 expPlayr 的工作代码
String url = getIntent().getStringExtra("videoURL");
String title = getIntent().getStringExtra("title");
exoPlayerView = (SimpleExoPlayerView) findViewById(R.id.exo_player_id);
BandwidthMeter bandwidthMeter = new DefaultBandwidthMeter();
TrackSelector trackSelector = new DefaultTrackSelector(new AdaptiveTrackSelection.Factory(bandwidthMeter));
exoPlayer = ExoPlayerFactory.newSimpleInstance(this, trackSelector);
DefaultHttpDataSourceFactory dataSourceFactory = new DefaultHttpDataSourceFactory(title);
ExtractorsFactory extractorsFactory = new DefaultExtractorsFactory();
MediaSource m = new HlsMediaSource(Uri.parse(url), dataSourceFactory, null,null);
exoPlayerView.setPlayer(exoPlayer);
exoPlayer.prepare(m);
exoPlayer.setPlayWhenReady(true);
Run Code Online (Sandbox Code Playgroud)
这是我试图用来停止视频的代码。
@Override
public void onBackPressed(){
try{
exoPlayer.stop();
}catch(Exception e){
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我在调试模式下查看代码并执行此语句,但仍然没有停止视频。
尝试这个...
if (exoPlayer != null) {
exoPlayer.setPlayWhenReady(false);
exoPlayer.stop();
exoPlayer.seekTo(0);
}
Run Code Online (Sandbox Code Playgroud)
我在我的项目中也遇到了同样的问题。我遇到的问题是 - Exoplayer 在屏幕加载时初始化两次,并且当我们根据 SDK 版本在 onPause 或 onResume() 中调用 realeseExoplayer() 时释放一个实例。即使活动关闭,第二个实例也会继续在后台播放。因此请求仔细检查 Exoplayer 是否已初始化两次。如果多次初始化,请进行必要的更改以初始化一次。