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, and
paused
is false, and
ended
is false
then 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);
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…