Android - 用html5视频解雇Webview

时间:2013-12-09 20:30:00

标签: android html5 android-webview html5-video

我正在使用Webview,播放不同的html5视频(内部标记和Youtube视频)。

关闭Webview时,我尝试加载空白页面+隐藏视图+暂停webview。 Webview似乎正确关闭,视频停止播放。

问题在于Galaxy S4 + S2,再次打开Webview并播放另一个视频时。新视频播放后立即暂停。当我再次按“播放”时,视频会再次自动暂停。这将发生在我将尝试加载的每个视频(Youtube和内部),直到我将杀死我的应用程序。杀死我的应用后,一切都会正常工作。 是否有可能第一个视频/视频未终止,因此每个新视频都会自动暂停,以防止两个视频同时播放?

TNX!

Yaniv

1 个答案:

答案 0 :(得分:3)

经过几天的努力,我找到了解决方案。看来,当关闭Webview时,Mediaplay可能没有焦点,这使他无法暂停/解雇。这会阻止所有其他与Mediaplayers一起浏览的Webview(每次尝试播放时自动暂停,无法恢复)。

添加此代码时:

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

    ((AudioManager)getSystemService(
            Context.AUDIO_SERVICE)).requestAudioFocus(
                    new OnAudioFocusChangeListener() {
                        @Override
                        public void onAudioFocusChange(int focusChange) {}
                    }, AudioManager.STREAM_MUSIC, 
                    AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);
}

问题彻底解决了。媒体播放器被解雇/暂停(不确定哪个,必须检查),新的网络视图与新的媒体播放器可以获得焦点和正常播放。

希望它可以帮助其他人解决这个问题..