首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何运行mediaStream

如何运行mediaStream
EN

Stack Overflow用户
提问于 2016-06-20 19:41:01
回答 2查看 3.3K关注 0票数 7

我创建了一个webCam流

代码语言:javascript
复制
navigator.getUserMedia({ "video": true }, function(stream){
    videoTag.src = window.URL.createObjectURL(stream);
    videoTag.play();
}

我可以在全局范围内访问stream 中的MediaStream对象吗?*

(有点像navigator.getAllMediaStreams[0])

*编辑:...without向getUserMedia函数添加逻辑。我的问题是一个qr解码器库,它为我获取流,我不想更改第三方代码。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-20 19:44:46

没有浏览器保存的活动媒体流列表。

您可以将流保存到例如window.stream。

票数 6
EN

Stack Overflow用户

发布于 2016-06-20 20:39:45

当然:

代码语言:javascript
复制
navigator.allMediaStreams = [];

navigator.mediaDevices.getUserMedia({ "video": true }).then(stream => {
  navigator.allMediaStreams.push(stream);
  console.log(navigator.allMediaStreams.length); // 1
})
.catch(e => console.error(e));

console.log(navigator.allMediaStreams.length); // 0

只需了解数组将为空,直到成功回调触发为止。

它就像任何其他JavaScript对象一样。只要您保持对流的引用(这样它就不会被垃圾收集),并且不要在它的轨道上调用stop(),您就可以使用一个实时视频流,并且在这段时间内,如果有一个活动摄像机灯,它就会亮着。

同样,与任何其他JavaScript变量一样,它仍然绑定到页面上,即使它挂起navigator,它也无法在页面导航中存活下来。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37930537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档