VideoView在对话框上停止打开anykind

时间:2016-05-17 11:57:50

标签: android

我在活动中有视频观看次数。

private void videoInit() {
    videoView = (VideoView)findViewById(R.id.videoView);

    videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
        @Override
        public void onPrepared(MediaPlayer mp) {
            videoView.start();
            mp.setLooping(true);

        }
    });

    videoView.setVideoPath("android.resource://com.aplos.ideliver2/raw/iphone_inner_animation");//src/main/res/raw
    videoView.requestFocus();
    videoView.start();
}

这是我的功能,打开对话框的意图是另一个类。

这是针对场景执行的。

private void processError(Response mResponse) {
    try {
        AlertDialog.strMessage = mResponse.getResponseMessage();
        AlertDialog.strTitle = "Alert";
        AlertDialog.strButtonTitle = "OK";
        startActivity(new Intent(context, AlertDialog.class));
        overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
    } catch (Exception e) {
        H.Handle(e);
    }
}

当对话框打开时,视频停止。我想让视频连续播放。

@Override
public void onBackPressed() {
    super.onBackPressed();
    videoView.stopPlayback();
}

@Override
protected void onPause() {
    super.onPause();
    videoView.stopPlayback();

}

@Override
protected void onResume() {
    super.onResume();
    videoView.start();
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    videoView.start();
}

2 个答案:

答案 0 :(得分:1)

删除这两个

@Override
protected void onPause() {
   super.onPause();
   videoView.stopPlayback();
}

@Override
protected void onResume() {
    super.onResume();
    videoView.start();
}

并添加

@Override
protected void onStop() {
   super.onPause();
   videoView.stopPlayback();
}

@Override
protected void onRestart() {
    super.onResume();
    videoView.start();
}

因为当你的窗口被部分遮挡时会调用onPause,就像弹出一样。

编辑:由于您要求我解释其工作原理,您需要了解激活生命周期。当活动对用户完全不可见时,将调用OnStart(),但是当活动甚至部分不可见时将调用onPause,例如活动上显示的警告框,或者当您下拉以查看通知等时

了解有关活动生命周期检查的更多信息this out

答案 1 :(得分:0)

使用

onStop() instead of onPause()

onRestart() instead of onResume()

祝你好运......!

相关问题