我在一个网络应用程序中使用 MediaStream API,它允许多个用户基于 webrtc 进行 à conf 调用。当我使用 MediaStream.addTracks() 时,我的轨道 (MediaStreamTrack) 的 id 会发生变化。
这是一个具体的例子:
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):此时我的音轨是
enabled: true
id: "0eKd3T3arsIgrnLsIplvfA69feDzxvwEnu8ga0"
kind: "audio"
label: "0eKd3T3arsIgrnLsIplvfA69feDzxvwEnu8ga0"
onended: null
onmute: null
onunmute: null
readyState: "live"
(2):此时我的音轨是
enabled: true
id: "bd3ba276-8804-4c6e-8dd7-f1bd316150e8"
kind: "audio"
label: "0eKd3T3arsIgrnLsIplvfA69feDzxvwEnu8ga0"
onended: null
onmute: null
onunmute: null
readyState: "live"
正如你所看到的id
已经改变了。这是正常行为吗?