Widzę, że MediaElement eksponuje atrybuty jak interfejs paused
, seeking
oraz ended
. Brakuje jednak na liście playing
.
Wiem, że są playing
zdarzenia, które uruchamiają się, gdy element zaczyna się odtwarzać, oraz timeupdate
zdarzenia okresowe podczas odtwarzania, ale szukam sposobu, aby określić, czy wideo jest teraz odtwarzane . Czy istnieje łatwy sposób, aby to ustalić?
Najbliższe, jakie mam, to:
!(video.paused || video.ended || video.seeking || video.readyState < video.HAVE_FUTURE_DATA)
źródło
var video = $('selector').children('video'); var videoElement = video.get(0); if (!videoElement.paused) {}
Jednym ze sposobów na zrobienie tego za pomocą Jquery
źródło
Zobacz moją odpowiedź tutaj: tag wideo HTML5, javascript do wykrywania stanu odtwarzania?
Zasadniczo, jak powiedziano wcześniej, nie ma jednej właściwości do sprawdzenia, ale zgodnie ze specyfikacją jest to kombinacja warunków.
źródło
Miałem ten sam problem. Rozwiązanie jest bardzo proste i nieskomplikowane:
// if video status is changed to "ended", then change control button to "Play Again" video.onended = function() { $("#play_control_button").text("Play Again"); }; // if video status is changed to "paused", then change control button to "Continue Play" video.onpause = function() { $("#play_control_button").text("Continue Play"); }; // if video status is changed to "playing", then change control button to "Stop" video.onplaying = function() { $("#play_control_button").text("Stop"); };
źródło