首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MediaStreamTrack.id ()时addTracks更改

使用MediaStreamTrack.id ()时addTracks更改
EN

Stack Overflow用户
提问于 2013-08-27 13:50:04
回答 2查看 1.9K关注 0票数 4

我在一个web应用程序中使用MediaStream API,它允许多个用户基于webrtc进行conf调用。当我使用MediaStream.addTracks()时,轨道的id (MediaStreamTrack)会改变。

下面是一个具体的例子:

代码语言:javascript
复制
getUserMedia.call(navigator, {audio:true,video:false}, function(stream) {
    console.log(stream.getAudioTracks());                //(1)
    rtc.streams[0].addTrack(stream.getAudioTracks()[0]); //rtc object managed by webrtc.io
    console.log(rtc.streams[0].getAudioTracks());        //(2)
}, function() {
    console.log("Could not connect stream.");
    onFail();
});

(1):在这一点上,我的音频轨道是

代码语言:javascript
复制
enabled: true
id: "0eKd3T3arsIgrnLsIplvfA69feDzxvwEnu8ga0"
kind: "audio"
label: "0eKd3T3arsIgrnLsIplvfA69feDzxvwEnu8ga0"
onended: null
onmute: null
onunmute: null
readyState: "live"

(2):现在我的音轨是

代码语言:javascript
复制
enabled: true
id: "bd3ba276-8804-4c6e-8dd7-f1bd316150e8"
kind: "audio"
label: "0eKd3T3arsIgrnLsIplvfA69feDzxvwEnu8ga0"
onended: null
onmute: null
onunmute: null
readyState: "live"

如您所见,id已经改变了。这是正常行为吗?

EN

回答 2

Stack Overflow用户

发布于 2013-09-09 11:15:13

不,它不是。webrtc.com上的API描述表明,addStream函数的纵隔参数只是一个常量引用。所以身份不应该改变。

票数 0
EN

Stack Overflow用户

发布于 2019-10-10 10:37:11

调用addTrack函数时添加到流中的新轨道。例如,如果您在流中有两个音轨(一个视频轨道和一个音频轨道),那么在调用addTrack函数之后,您将有3条轨道和任何一条被新的轨道取代的轨道。因此,您将获得与以前不同的最新跟踪属性。

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

https://stackoverflow.com/questions/18467362

复制
相关文章

相似问题

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