首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webrtc: RTCTrackEvent在通过在线处理程序接收时不包括收发器

webrtc: RTCTrackEvent在通过在线处理程序接收时不包括收发器
EN

Stack Overflow用户
提问于 2018-05-30 05:58:50
回答 2查看 280关注 0票数 0

来自RTCTrackEvent

构造函数(DOMString type,RTCTrackEventInit eventInitDict),Exposed=Window接口RTCTrackEvent :事件{只读属性RTCRtpReceiver接收器;只读属性MediaStreamTrack跟踪;SameObject只读属性FrozenArray流;只读属性RTCRtpTransceiver收发信机;};

有一个transceiver会员。

但是,当我通过track处理程序接收到一个ontrack()事件时,transceiver不存在。

我将使用transceiver显示接收到的远程跟踪。

有什么想法吗?最近显示远程音轨的方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-30 06:48:09

收发器已经不再需要了。

addTrack()生成将触发远程ontrack()处理程序的track事件。

远程ontrack()处理程序只需使用接收到的跟踪流设置远程视频src即可。

码(gUM)

代码语言:javascript
复制
navigator.mediaDevices.getUserMedia({
   audio: true,
   video: true
}).then((stream) => {
   if (! vid.srcObject) {
      vid.srcObject = stream;
   }
   // this triggers track event to the remote peer
   pc.addTrack(stream.getVideoTracks()[0], stream);
}).catch(logError);

代码(ontrack() -远程)

代码语言:javascript
复制
pc.ontrack = function(evt) { // "track" event received
   if (! remote_vid.srcObject) {
      remote_vid.srcObject = evt.streams[0];
   }
};
票数 0
EN

Stack Overflow用户

发布于 2018-05-30 08:30:50

收发器尚未在大多数浏览器中实现。只有火狐59+已经实现了。但你不需要他们,因为你得到了轨道和它的相关流。

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

https://stackoverflow.com/questions/50597293

复制
相关文章

相似问题

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