RTCPeerConnection: addstream 事件
已弃用:此功能不再推荐。虽然某些浏览器可能仍支持此功能,但它可能已从相关 Web 标准中删除,可能正在被删除,或者可能仅出于兼容性目的而保留。避免使用它,如果可能,请更新现有代码;请查看此页面底部的兼容性表,以指导您的决策。请注意,此功能可能随时停止工作。
非标准:此功能是非标准的,并且不在标准轨道上。请勿在面向 Web 的生产网站上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为将来可能会改变。
过时的 addstream
事件在将新的媒体(以 MediaStream
对象的形式)添加到 RTCPeerConnection
时发送到该对象。
警告:此事件已从 WebRTC 规范中删除。您应该改为监听 track
事件,该事件在为 RTCPeerConnection
添加的每个媒体轨道发送。
同样,您可以通过监视 removestream
事件来查看从连接中删除的流。
此事件不可取消,也不冒泡。
语法
在诸如 addEventListener()
之类的方法中使用事件名称,或设置事件处理程序属性。
addEventListener("addstream", (event) => {});
onaddstream = (event) => {};
事件类型
一个 MediaStreamEvent
。继承自 Event
。
事件属性
由于 MediaStreamEvent
是 Event
,因此此事件还实现了这些属性.
MediaStreamEvent.stream
只读-
包含与事件关联的流的
MediaStream
。
示例
此示例将查看用户的浏览器是否支持 track
事件。如果支持,则设置 track
事件监听器;否则,则设置 addstream
事件监听器。pc
是 RTCPeerConnection
。
if (pc.addTrack !== undefined) {
pc.ontrack = (ev) => {
ev.streams.forEach((stream) => doAddStream(stream));
};
} else {
pc.onaddstream = (ev) => {
doAddStream(ev.stream);
};
}
这将为添加到 RTCPeerConnection
的每个流调用函数 doAddStream()
一次,无论浏览器发送 addstream
还是 track
。
您还可以使用 addEventListener()
方法来设置事件监听器
pc.addEventListener("addstream", (ev) => doAddStream(ev.stream), false);
浏览器兼容性
BCD 表仅在启用 JavaScript 的浏览器中加载。