Ho riscontrato problemi con i video che utilizzano Chrome.Cerco in video HTML5 con Chrome
Per qualche ragione, non importa quello che faccio, video.seekable.end(0)
è sempre 0.
Quando chiamo video.currentTime = 5
, seguito da console.log(video.currentTime)
, vedo che è sempre 0, che sembra ripristinare il video.
Ho provato entrambi i formati webm MP4 e VP9, ma entrambi hanno dato gli stessi risultati.
La cosa più fastidiosa è che Firefox funziona perfettamente. C'è qualcosa di speciale su Chrome che dovrei sapere?
Ecco il mio codice (che funziona solo in 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>
Ed ecco la 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?
});
noti che semplicemente chiamando videoDiv.play()
viene effettivamente riprodotta correttamente il video in entrambi i browser.
Inoltre, dopo che il file del film è stato caricato completamente, lo videoDiv.buffered.end(0)
fornisce anche i valori corretti in entrambi i browser.
Ho un problema simile, ma solo su Mac. Chrome si rifiuta di cercare, ma Firefox funziona. Sono in esecuzione un server compatibile con http 206 sulla mia macchina e posso vedere le 206 richieste nel registro di rete. Forse dovrei fare una nuova domanda su SO per questo. –
Stai dicendo che dobbiamo semplicemente inviare il codice di ritorno come 206 affinché la funzione di ricerca funzioni in Chrome? – vbNewbie
No, sto dicendo che 206 è un modo per verificare che il contenuto parziale possa essere recuperato da un server. Se stai scrivendo il tuo server, devi essere conforme al protocollo. Chrome utilizza queste informazioni per non dover scaricare l'intero video prima di eseguirne lo streaming. È efficiente – Tovi7