在房间视频通话 twilio 中共享屏幕之前需要 remoteParticipant 获得批准

问题描述

我有两种类型的用户:顾问和访客。

顾问可以在房间内进行视频通话时共享他们的屏幕。当客人去共享他们的屏幕时,我想通知顾问客户点击了共享屏幕按钮,允许顾问接受/拒绝客人共享他们的屏幕的请求。

在发布屏幕共享轨道之前没有触发事件供我收听并提示顾问接受/拒绝客人在实时视频通话中共享他们的屏幕。

这是启动屏幕共享的代码

export const startScreenShare = async (room: Room): Promise<boolean> => {

  if (isParticipantSharingScreen(room.localParticipant)) {
    disableParticipantsscreensharingTrack(room.localParticipant);
    return false;
  }

  // Only allow one participant to share their screen at a time.
  room.participants.forEach((participant) => {
    if (isParticipantSharingScreen(participant)) {
      throw new Error("Only one participant may share their screen at a time.");
    }
  });

  const stream = await navigator.mediaDevices.getdisplayMedia({
    video: {
      width: 1280,height: 720,frameRate: 10,},});

  const screenTrack = new LocalVideoTrack(stream.getTracks()[0],{
    name: SCREEN_SHARE_TRACK_NAME,logLevel: "warn",});

  const track = room.localParticipant.publishTrack(screenTrack);

  screenTrack.once("stopped",() => {
    room.localParticipant.unpublishTrack(screenTrack);
    stopscreensharing();
  });

  return true;
};

我已经研究过使用 LocalDataTrack 在参与者之间进行对话以隐藏/显示屏幕共享按钮。我还研究了设置订阅规则,因此我可以排除视频聊天中其他人订阅的屏幕轨迹类型。任何帮助表示赞赏。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)