javascript getUserMedia获取媒体流时间
问题描述:
如何在JavaScript中获取流对象的当前流时间?javascript getUserMedia获取媒体流时间
navigator.mediaDevices.getUserMedia(constraints) .then(function(stream) { console.log("get stream time here") })
是否有任何可能的方式来获得流时间?
答
你可以使用currentTime(使用fiddle使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>
没有内在流时间不挂钩它到一个接收器和玩它。例如。如果您迟到加入WebRTC视频通话,那么会议开始时就没有时间通知您。
请注意,不同的浏览器似乎以不同的方式解释MediaStreams的currentTime。在Chrome浏览器中,我会看到从网络摄像头的每帧中增加的时间。在Firefox中我获得了不同的行为,currentTime更频繁地增加。所以在Chrome中,我可以推断摄像头的真实帧率,在Firefox中我不能。 –