RTCTrackEvent
The WebRTC API 接口RTCTrackEvent
表示track
事件,当新的MediaStreamTrack
添加到RTCRtpReceiver
(它是RTCPeerConnection
的一部分)时会发送该事件。
目标是正在向其添加轨道的RTCPeerConnection
对象。
此事件由 WebRTC 层发送到网站或应用程序,因此您通常不需要自己实例化RTCTrackEvent
。
构造函数
RTCTrackEvent()
-
创建并返回一个新的
RTCTrackEvent
对象。您可能不需要自己创建新的轨道事件,因为它们通常由 WebRTC 基础设施创建并发送到连接的ontrack
事件处理程序。
实例属性
由于RTCTrackEvent
基于Event
,因此其属性也可用。
receiver
只读-
已添加到
RTCPeerConnection
的轨道的RTCRtpReceiver
。 streams
只读 可选-
一个
MediaStream
对象的数组,每个对象都表示已添加的track
所属的媒体流之一。默认情况下,数组为空,表示无流轨道。 track
只读-
已添加到连接的
MediaStreamTrack
。 transceiver
只读-
新轨道正在使用的
RTCRtpTransceiver
。
轨道事件类型
只有一种轨道事件类型。
轨道
当新的轨道已添加到连接时,会将track
事件发送到RTCPeerConnection
。当track
事件传递到RTCPeerConnection
的ontrack
处理程序时,新媒体已完成针对特定RTCRtpReceiver
(由事件的receiver
属性指定)的协商。
此外,接收器的track
指定的MediaStreamTrack
与事件的track
指定的相同,并且该轨道已添加到任何关联的远程MediaStream
对象。
您可以添加track
事件侦听器以在新的轨道可用时收到通知,以便您可以例如将它的媒体附加到<video>
元素,方法是使用RTCPeerConnection.addEventListener()
或ontrack
事件处理程序属性。
注意:可能需要记住,当新的入站轨道已添加到您的连接时,您会收到track
事件,并且您调用addTrack()
以将轨道添加到连接的远端,从而在远程对等方触发track
事件。
示例
规范
规范 |
---|
WebRTC:浏览器中的实时通信 # dom-rtctrackevent |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。