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 次 |
最近记录: |