Pahanda: <video> zwischenspeichern -> buffer

Beitrag lesen

Hallo,

Meine Idee:
Du lässt das Video buffern, indem du das preload-Attribut beim video-Element setzt. Mit JavaScript hörst du auf den canplay- oder canplaythrough-Event. Wenn der eintritt, wartest du 3000 Millisekunden mit setTimeout. In dem Callback rufst du die play-Methode des video-Elements auf, um das Abspielen zu starten.

Danke für die schnellen Antworten!

Leider kenne ich mich in JS nicht gut aus (so gut wie garnicht).
Ich hab etwas rumprobiert, aber so richtig will es nicht funktionieren.

Bisher ignoriert der Video-tag mein JS. Egal wie ich es mache, das Bild erscheint schon früher. Hier der bisherige Code den ich mir zusammengesucht habe:

  
  
<!DOCTYPE html>  
<html>  
<head>  
<meta charset="utf-8">  
<title>Display Webcam Stream</title>  
  
<style>  
#container {  
    margin: 0px;  
    width: 100%;  
    height: 100%;  
}  
#videoElement {  
    width: 100%;  
    background-color: #666;  
}  
</style>  
</head>  
  
<body>  
<div id="container">  
    <video autoplay id="videoElement">  
  
    </video>  
</div>  
<script>  
 var video = document.querySelector("#videoElement");  
  
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia || navigator.oGetUserMedia;  
  
if (navigator.getUserMedia) {  
    navigator.getUserMedia({video: true}, handleVideo, videoError);  
}  
  
function handleVideo(stream) {  
    video.src = window.URL.createObjectURL(stream);  
}  
  
function videoError(e) {  
    // do something  
}  
 myVid=document.getElementById("videoElement");  
myVid.oncanplay=setTimeout(alert, 1500, "Hello world!");  
  
</script>  
</body>  
</html>