[英]How to restart video track after stopping it in twilio?
我正在使用 twilio-video v2.7。
客观的:
停止后重新启动视频轨道。
用例:
视频关闭时关闭摄像头 LED 指示灯,反之亦然,就像 google meet 一样。
const toggleVideo = () => {
const isOff = !isVideoOn;
room.localParticipant.videoTracks.forEach((t) => {
if (isOff) {
t.track.enable();
t.track.attach(screenRef.current)
} else {
t.track.disable();
t.track.stop()
t.unpublish()
t.track.detach()
}
});
setVideoToggle(isOff);
};
不久前,我使用此代码将媒体静音/取消静音。 您可以随心所欲地更改它。 如果有什么不清楚的,现在让我在评论中。
/** * Mute/unmute your media in a Room. * @param {Room} room - The Room you have joined * @param {'audio'|'video'} kind - The type of media you want to mute/unmute * @param {'mute'|'unmute'} action - Whether you want to mute/unmute */ function muteOrUnmuteYourMedia(room, kind, action) { const publications = kind === 'audio' ? room.localParticipant.audioTracks : room.localParticipant.videoTracks; publications.forEach(function(publication) { if (action === 'mute') { publication.track.disable(); } else { publication.track.enable(); } }); } /** * Mute your video in a Room. * @param {Room} room - The Room you have joined * @returns {void} */ function muteYourVideo(room) { muteOrUnmuteYourMedia(room, 'video', 'mute'); } /** * UnMute your video in a Room. * @param {Room} room - The Room you have joined * @returns {void} */ function muteYourVideo(room) { muteOrUnmuteYourMedia(room, 'video', 'unmute'); }
我相信您需要重新发布视频轨道。 只要您正在处理在轨道上发布的事件,这就足够了。
t.track.publish()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.