MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey-2018-1

RTCPeerConnection.ontrack

这篇翻译不完整。请帮忙从英语翻译这篇文章

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

RTCPeerConnection.ontrack 属性是一个 EventHandler 此属性指定了在RTCPeerConnection接口上触发 track 事件时调用的方法。该方法接收一个RTCTrackEvent类型的event对象,该event对象将在MediaStreamTrack被创建时或者是关联到已被添加到接收集合的RTCRtpReceiver对象中时被发送。

语法

RTCPeerConnection.ontrack = eventHandler;

参数

ontrack设置为你提供的一个输入RTCTrackEvent对象用于描述新的track将如何使用的方法。这一信息包含了代表新track的MediaStreamTrack对象、RTCRtpReceiver对象、RTCRtpTransceiver对象以及一个MediaStream对象列表,该对象列表表示该track是那个媒体流的一部分。

示例

本示例,从这篇文章的代码和视频调用的代码中,将传入的轨迹连接到将用于显示传入<video>元素。

pc.ontrack = function(event) {
  document.getElementById("received_video").srcObject = event.streams[0];
  document.getElementById("hangup-button").disabled = false;
};

在第一行代码中,我们的ontrack 事件处理器获取传入的第媒体流数组中的第一个,并赋值给video元素的srcobject 。这样媒体流就和页面中的video元素结合起来以便于呈现给用户。第二行代码简单启用了“挂断”按钮,用户可以使用它去断开呼叫。

说明

说明 状态 注释
WebRTC 1.0: Real-time Communication Between Browsers
RTCPeerConnection.ontrack
Working Draft 初始规范

各浏览器兼容性

特性 Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 未实现 46 (46)[1] 未实现 ? ?
Feature Android Webview Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 未实现 未实现 46 (46)[1] 未实现 ? ?

[1] 在Firefox 45中引入了onaddtrack;在Firefox 46中重命名为ontrack

参见

文档标签和贡献者

 此页面的贡献者: track_vovo
 最后编辑者: track_vovo,