我有一个Tab布局,有五个Tabs(五个片段)。其中一个是播放视频。一切都很好。但是,当我从视频片段中滑动到另一个片段时,视频会继续在后台播放。怎么能停止。
这是标签布局
这是启动视频的代码
videoView.setMediaController(mediaController);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();
return view;
答案 0 :(得分:1)
你可以检查你的片段是否可见
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser && getView()!=null);
if (isVisibleToUser) {
//fragment visible play video
}
else {
//fragment not visible pause video
}
}
答案 1 :(得分:0)
在视频视图片段中执行此操作
@Override
public void onPause() {
videoView.stop()
super.onPause()
}
答案 2 :(得分:0)
当片段的隐藏状态发生变化时,将调用此方法。
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
if (hidden) {
// videoView.stop();
}else {
// videoView.start();
}
}
答案 3 :(得分:0)
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser && getView() != null);
if(videoview!=null) {
if (isVisibleToUser) {
videoview.start();
} else {
videoview.pause();
}
}
}