乐趣区

Android使用WebView加载H5页面播放视频音频退出后还在播放问题解决

Android 中经常会使用到 WebView 来加载 H5 的页面,如果 H5 页面中有音频或者视频的播放时,还没播放完就退出界面,这个时候会发现音频或者视频还在后台播放,这就有点一脸懵逼了,下面是解决方案:

方案一:

 在 webview 所在的 activity 中的 onPause() 和 onResume() 方法中写上两句话。public void onPause() {super.onPause();  
        webview.onPause();}  
public void onResume() {super.onResume();  
        webview.onResume();}  

方案二:

// 添加一下代码解决问题 webView 退出之后音频视频还在播放问题
private AudioManager audioManager;
private AudioManager.OnAudioFocusChangeListener listener;


@Override
protected void onResume() {if (audioManager!= null) {audioManager.abandonAudioFocus(listener);
        audioManager = null;
    }

    super.onResume();}

@Override
protected void onPause() {audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
    listener = new AudioManager.OnAudioFocusChangeListener() {
        @Override
        public void onAudioFocusChange(int focusChange) {}};
    int result = audioManager.requestAudioFocus(listener, AudioManager.STREAM_MUSIC, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);

    if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { }
    super.onPause();}

以下是个人公众号 (longxuanzhigu),之后发布的文章会同步到该公众号,方便交流学习 Android 知识及分享个人爱好文章:

退出移动版