1

我正在处理视频 HTML 标签,我想在新标签打开时暂停音频。请帮助解决这个问题。

<video autoplay onplay="clickplayer()" id="player" onended="endplayer()" fullscreen="true" controls onvolumechange="myFunction()"  ontimeupdate="document.getElementById('tracktime').innerHTML = Math.floor(this.currentTime) + ' / ' + Math.floor(this.duration);">dik</video>
4

2 回答 2

5

为此,您需要先检测窗口失焦事件。这是一个例子:

HTML:

 <video id="video" width="400" controls>
   <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
 </video>

JS:

document.addEventListener("visibilitychange", onchange);
function onchange (evt) {
   document.getElementById("video").pause();
}

你可以在这里找到完整的例子

请注意,同样的方法也适用于音频标签。

于 2017-01-09T10:53:59.590 回答
3

The visibilitychangeevent is fired when the content of a tab has become visible or has been hidden.

visibilitychange如果选项卡被隐藏,您应该检测事件的选项卡可见性并暂停视频。

var focused = true;
document.addEventListener("visibilitychange", function () {
  focused = !focused;
  if (!focused)
    document.getElementById("video").pause();
});
<video id="video" width="400" controls>
   <source src="http://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
</video>

于 2017-01-09T11:18:04.257 回答