繁体   English   中英

在 twilio 中停止后如何重新启动视频轨道?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM