我已经在其中一个Activity中添加了ExoPlayer以播放视频,它可以正常工作。但是当视频正在播放时,用户按下返回按钮,视频仍然会在后台继续播放。我想停止它。我尝试捕获返回按钮并尝试暂停视频,但它不起作用。除非你杀死该Activity,否则视频会一直播放直到结束。这是一个bug还是这个库的预期工作方式?
以下是ExoPlayer的工作代码:
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);
以下是我试图使用来停止视频的代码。
@Override
public void onBackPressed(){
try{
exoPlayer.stop();
}catch(Exception e){
e.printStackTrace();
}
}
我在调试模式下检查了代码,执行了这个语句,但视频仍然没有停止。