如何暂停视频以阻止它在后台播放?

时间:2018-01-22 07:57:00

标签: android android-fragments layout tabs video-streaming

我有一个Tab布局,有五个Tabs(五个片段)。其中一个是播放视频。一切都很好。但是,当我从视频片段中滑动到另一个片段时,视频会继续在后台播放。怎么能停止。

这是标签布局

enter image description here

这是启动视频的代码

videoView.setMediaController(mediaController);
    videoView.setVideoURI(uri);
    videoView.requestFocus();
    videoView.start();
    return view;

4 个答案:

答案 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();
        }
    }
}