Mam problemy z wyszukiwaniem filmów w przeglądarce Chrome.Poszukiwania w filmach HTML5 w Chrome
Z jakiegoś powodu, bez względu na to, co robię, video.seekable.end(0)
jest zawsze 0.
Kiedy zadzwonić video.currentTime = 5
, a następnie console.log(video.currentTime)
, widzę to zawsze 0, co wydaje się zresetować wideo.
Próbowałem już formatów webm opartych na MP4 i VP9, ale obie dały takie same wyniki.
Co więcej denerwujące jest to, że Firefox działa doskonale. Czy jest coś wyjątkowego w Chrome, o czym powinienem wiedzieć?
Oto mój kod (który działa tylko w Firefox):
<div class="myvideo">
<video width="500" height="300" id="video1" preload="auto">
<source src="data/video1.webm" type="video/webm"/>
Your browser does not support videos.
</video>
</div>
A oto javascript:
var videoDiv = $(".myvideo").children().get(0)
videoDiv.load();
videoDiv.addEventListener("loadeddata", function(){
console.log("loaded");
console.log(videoDiv.seekable.end(0)); //Why is this always 0 in Chrome, but not Firefox?
videoDiv.currentTime = 5;
console.log(videoDiv.currentTime); //Why is this also always 0 in Chrome, but not Firefox?
});
Należy pamiętać, że po prostu dzwoniąc videoDiv.play()
ma rzeczywiście poprawnie odtworzyć film w obu przeglądarkach.
Po pełnym załadowaniu pliku filmu, videoDiv.buffered.end(0)
podaje również poprawne wartości w obu przeglądarkach.
Mam podobny problem, ale tylko na komputerze Mac. Chrome odmawia wyszukiwania, ale Firefox działa. Używam serwera zgodnego z http 206 na moim komputerze i widzę 206 żądań w dzienniku sieci. Może powinienem zapytać o to nowe pytanie na SO. –
Czy chcesz wysłać kod powrotu do wersji 206, aby funkcja wyszukiwania działała w Chrome? – vbNewbie
Nie, mówię, że 206 to sposób sprawdzenia, czy częściowa zawartość może być pobrana z serwera. Jeśli piszesz własny serwer, musisz być zgodny z protokołem. Chrome używa tych informacji, aby nie pobierać całego filmu przed jego przesłaniem strumieniowym. Jest wydajny. – Tovi7