我正在构建一个视频聊天应用。 python中的后端部分工作正常(创建房间,将令牌添加到房间)。我可以连接到房间,我的笔记本上的diod显示相机正在工作,但它不显示我本地相机的视频。这是我的代码
Twilio.Video.connect(doctor_token, {name: room_name}).then(function (room) {
Twilio.Video.createLocalVideoTrack().then(function (track) {
$("#localVideo").append(track.attach());
});
room.on('participantConnected', function (participant) {
$("#patientVideo").append(participant.track.attach())
})
});
这是html的一部分
<div>
<video id="localVideo"></video>
<video id="patientVideo"></video>
</div>
我做错了什么?更多如何添加选项以从我的视频cammera中静音?
答案 0 :(得分:2)
Twilio开发者传道者在这里。
在没有参数的情况下调用track.attach()
实际上会创建一个<video>
元素。然后,您的代码会将新的<video>
元素附加到现有的<video id="localVideo"></video>
元素中。如果您在此代码运行后检查DOM,那么您将找到嵌套视频。
你现在有两个选择。您可以将现有的<video>
元素转换为<div id="localVideo">
,并将创建的视频元素添加到其中,您将看到本地视频。 HTML:
<div>
<div id="localVideo"></div>
<div id="patientVideo"></div>
</div>
JavaScript保持不变。
或者,您可以保留HTML原样并将ID选择器传递给track.attach()
,这会将视频从相机附加到现有元素。
本案例中的JavaScript变为:
Twilio.Video.connect(doctor_token, {name: room_name}).then(function (room) {
Twilio.Video.createLocalVideoTrack().then(function (track) {
track.attach("#localVideo");
});
room.on('participantConnected', function (participant) {
participant.track.attach("#patientVideo");
});
});
如果有帮助,请告诉我。