[Constructor(DOMString type, RTCTrackEventInit eventInitDict), Exposed=Window] interface RTCTrackEvent : Event { readonly attribute RTCRtpReceiver receiver; readonly attribute MediaStreamTrack track; [SameObject] readonly attribute FrozenArray<MediaStream> streams; readonly attribute RTCRtpTransceiver transceiver; };
有一个transceiver
成员。
但是,当我通过track
处理程序收到ontrack()
事件时,
transceiver
不存在。
我将使用transceiver
来显示收到的远程曲目。
任何想法最近显示远程轨道的方式是什么?
答案 0 :(得分:0)
不再需要收发器。
addTrack()
生成track
事件,其中将触发远程ontrack()
处理程序。
远程ontrack()
处理程序只需使用收到的跟踪流设置远程视频src。
CODE(gUM)
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);
CODE(ontrack() - 远程)
pc.ontrack = function(evt) { // "track" event received
if (! remote_vid.srcObject) {
remote_vid.srcObject = evt.streams[0];
}
};
答案 1 :(得分:0)
收发器。只有Firefox 59+已经实现了它们。但是当你得到轨道及其相关的流时,你不需要它们。