I see that the MediaElement interface exposes attributes like paused
, seeking
, and ended
. Missing from the list, however, is playing
.
I know there are playing
events that fire when an element starts playing, and timeupdate
events events periodically while playing, but I'm looking for a way to determine whether a video is playing right now. Is there an easy way to determine this?
The closest I've got is:
!(video.paused || video.ended || video.seeking || video.readyState < video.HAVE_FUTURE_DATA)
You can use the . paused() method in javascript to check whether a video is playing or not. It will return true if the video is playing and return false if the video is not playing. You can get a video DOM element using its tag name or id.
<video>: The Video Embed element. The <video> HTML element embeds a media player which supports video playback into the document.
The HTML <video> element is used to show a video on a web page.
There is not a specific attribute that will reveal whether a MediaElement
is currently playing. However, you can deduce this from the state of the other attributes. If:
currentTime
is greater than zero, andpaused
is false, andended
is falsethen the element is currently playing.
You may also need to check readyState
to see if the media stopped due to errors. Maybe something like that:
const isVideoPlaying = video => !!(video.currentTime > 0 && !video.paused && !video.ended && video.readyState > 2);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With