我使用的是PhoneGap 2.4.0。对于Android应用程序。
当我用inappbrowser打开外部网页(包含youtube视频)时,视频播放效果不错。 但是在通过完成按钮关闭网页后,音频播放不会停止。 为了停止视频声音,我不得不关掉手机。
这对我来说是个大问题。 最后一个星期,我试图解决它。
我可以得到一些帮助吗?
这是我的代码。
.......................
function chamgae(juso) {
var ref = window.open(juso, '_blank', 'location=yes');
ref.close();
}
..........................
<a href="#" onclick="chamgae('http://m.youtube.com')">
..........................
或者
.......................
function chamgae(juso) {
window.open(juso, '_blank', 'location=yes');
}
..........................
<a href="#" onclick="chamgae('http://m.youtube.com')">
..........................
答案 0 :(得分:0)
打开InAppBrowser后你做了.close()吗。
var ref = window.open(url, '_blank', 'location=no');
ref.close();
我删除了.close()代码,我遇到了与继续播放相同的问题。这应该可以解决你的问题。
答案 1 :(得分:0)
您想要做的是将_blank
设置为_self
,这会导致它在您返回时停止。我有同样的问题,这是我发现解决这个问题的唯一问题。
答案 2 :(得分:0)
可以跟踪Web视图的焦点或模糊事件。您只需要将监听器添加到窗口中,如下所示: -
var win = window.top;
win.onfocus = function() { };
win.onblur = function() { fnDoSomething() };
function fnDoSomething(){
player=$f(document.getElementById('player_1'));
player.api('pause');
}
只要Web视图失去焦点,就会调用win.onblur,可以在该侦听器中执行任何操作。
如上例所示,我称之为vimeo播放器的“暂停”方法。
祝你好运
答案 3 :(得分:0)
从SO尝试了几个解决方案后,我终于找到了一个适用于Win10的解决方案:
var ref = window.open(file, '_blank', 'location=yes,hardwareback=yes,fullscreen=yes');
ref.addEventListener('loadstop', function () {
ref.executeScript({ file: "videofix.js" });
});
videofix.js:
var video = document.getElementsByTagName("video")[0];
let videoStopped = false;
// is executed every 100ms
var id = window.setInterval(function () {
if (document.hidden && !videoStopped) {
video.pause();
videoStopped = true;
// stop execution of this method
window.clearInterval(id);
}
}, 100);