【问题标题】:javascript getUserMedia get media stream timejavascript getUserMedia 获取媒体流时间
【发布时间】:2017-06-19 12:03:33
【问题描述】:

如何在javascript中获取流对象的当前流时间?

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

有没有什么方法可以获取直播时间??

【问题讨论】:

    标签: javascript video-streaming getusermedia


    【解决方案1】:

    您可以使用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 中我不能。
    猜你喜欢
    • 2013-04-26
    • 1970-01-01
    • 2014-02-05
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 2015-09-03
    • 2022-08-21
    • 1970-01-01
    相关资源
    最近更新 更多