Eva*_*all 67 javascript html5-video
我看到的MediaElement接口公开属性,如paused,seeking和ended.但是,从列表中遗漏的是playing.
我知道有playing事件,当元素火开始播放,和timeupdate赛事活动定期一边玩,但是我正在寻找一种方法来确定视频是否正在播放现在.有没有一种简单的方法来确定这个?
我最接近的是:
!(video.paused || video.ended || video.seeking || video.readyState < video.HAVE_FUTURE_DATA)
Run Code Online (Sandbox Code Playgroud)
Rae*_*bal 77
这已经很长时间了,但这里有一个很棒的提示.您可以将.playing所有媒体元素定义为自定义属性,并在需要时访问它.方法如下:
Object.defineProperty(HTMLMediaElement.prototype, 'playing', {
get: function(){
return !!(this.currentTime > 0 && !this.paused && !this.ended && this.readyState > 2);
}
})
Run Code Online (Sandbox Code Playgroud)
现在你可以使用它<video>或<audio>像这样的元素:
if(document.querySelector('video').playing){ // checks if element is playing right now
// Do anything you want to
}
Run Code Online (Sandbox Code Playgroud)
Geo*_*ins 67
没有特定属性可以显示MediaElement当前是否正在播放.但是,您可以从其他属性的状态推断出这一点.如果:
currentTime 大于零,并且paused 是假的,而且ended 是假的然后该元素正在播放.
您可能还需要检查readyState介质是否因错误而停止.
var video = $('selector').children('video');
var videoElement = video.get(0);
if (!videoElement.paused) {}
Run Code Online (Sandbox Code Playgroud)
使用Jquery执行此操作的一种方法
| 归档时间: |
|
| 查看次数: |
71446 次 |
| 最近记录: |