首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebRTC随时随地改变媒体流

WebRTC随时随地改变媒体流
EN

Stack Overflow用户
提问于 2013-08-11 02:32:00
回答 3查看 3.2K关注 0票数 1

现在,由于设备枚举出现在chrome中,我知道我可以在"getUserMedia“协商期间选择一个设备。我还想知道我是否可以在通话过程中切换设备(将本地音轨排队并切换音轨,还是必须重新协商流)?我不确定这是仍然被阻止的东西,还是现在是“允许的”

我试着制作一个新的曲目,但我不知道如何在旅途中切换曲目。我知道这在以前是不可能的,但现在想知道这是否可能?

EN

回答 3

Stack Overflow用户

发布于 2015-03-13 08:38:33

在火狐中,您可以使用RTPSender对象调用replaceTrack()来动态替换曲目(无需重新协商)。这最终应该被其他浏览器作为规范的一部分来支持。

没有replaceTrack(),您可以删除旧的流,添加一个新的流,处理one,并让客户端处理流中的更改。

请参阅Mozilla源代码:https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSender/replaceTrack中的replaceTrack()测试

票数 1
EN

Stack Overflow用户

发布于 2017-06-16 12:09:44

就连我也有同样的要求。我必须用MediaRecorder录制视频。为此,我使用具有音频和视频约束的navigator.getUserMedia。您可以通过从navigator.mediaDevices.enumerateDevices()获取可用的设备并将相应的设备附加到约束并使用新的约束再次调用navigator.getUserMedia来动态传递视频或音频轨道。执行此操作时需要注意的一点是,您必须使用track.stop()方法终止现有的磁道。

你可以在这里看到我的例子。

StreamTrack's readyState is getting changed to ended, just before playing the stream (MediaStream - MediaStreamTrack - WebRTC)

票数 1
EN

Stack Overflow用户

发布于 2013-08-12 18:25:44

当您想要更改为其他设备时,您是否尝试过调用getUserMedia()?

在媒体捕获和流规范中有一个applyConstraints()方法,它可以动态地更改约束,但它还没有实现:

dev.w3.org/2011/webrtc/editor/getusermedia.html#the-model-sources-sinks-constraints-and-states dev.w3.org/2011/webrtc/editor/getusermedia.html#methods-1

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

https://stackoverflow.com/questions/18165124

复制
相关文章

相似问题

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