2017-06-19 12 views
1

JavaScriptでストリームオブジェクトの現在のストリーム時間を取得するにはどうすればよいですか?javascript getUserMediaメディアストリーム時間を取得

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

ストリーム時間を取得するためにすべての可能な方法はあります?

答えて

4

あなたはcurrentTimeを使用して再生時間(getUserMediaの仕事をするためにfiddleを使用)を取得することができます:シンクにそれをフックせずには固有のストリームの時間がありません

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>

をし、それを再生する。例えば。 WebRTCビデオ通話に遅れて参加すると、会議の開始時を知らせるストリーム時間はありません。

+0

異なるブラウザでは、MediaStreamのcurrentTimeの解釈が異なるように見えることに注意してください。クロムでは、ウェブカメラから各フレームで増加する時間が表示されます。 Firefoxでは、私は異なった動作をします、currentTimeはより頻繁に増分します。だからクロームでは、私はウェブカメラの真のフレームレートを推測することができます、私はできません。 –

関連する問題