2017-06-19 1 views
1

Comment puis-je obtenir l'heure courante de l'objet stream dans javascript?javascript getUserMedia obtenir l'heure du flux média

navigator.mediaDevices.getUserMedia(constraints) .then(function(stream) { console.log("get stream time here") })

Est-il possible possible d'obtenir le temps de flux ??

Répondre

4

Vous pouvez obtenir le temps de lecture à l'aide currentTime (utilisation fiddle pour rendre le travail getUserMedia):

var wait = ms => new Promise(resolve => setTimeout(resolve, ms)); 
 

 
(async() => { 
 
    video.srcObject = await navigator.mediaDevices.getUserMedia({video: true}); 
 
    while (true) { 
 
    console.log(video.currentTime); 
 
    await wait(100); 
 
    } 
 
})().catch(e => console.log(e));
<video id="video" width="160" height="120" autoplay></video><br> 
 
<div id="div"></div>

Il n'y a pas de temps de flux inhérent sans le brancher à un évier et le jouer. Par exemple. Si vous rejoignez un appel vidéo WebRTC en retard, il n'y a pas de temps de diffusion qui vous indique quand la réunion a commencé.

+0

Notez que différents navigateurs semblent interpréter différemment currentTime pour MediaStreams. Dans Chrome, je vois des temps qui s'incrémentent avec chaque image d'une webcam. Dans Firefox, j'ai un comportement différent, currentTime s'incrémente plus fréquemment. Donc, dans Chrome, je peux extrapoler le véritable framerate de la webcam, dans Firefox je ne peux pas. –