微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 JsSIP 通知远程方视频/音频静音/取消静音

如何解决如何使用 JsSIP 通知远程方视频/音频静音/取消静音

我在一个 web Angular 项目中使用 JsSIP 库,我能够在两方之间进行 visio 调用
现在我想更进一步,为音频和视频添加一个静音/取消静音按钮。 但到目前为止,我只能在本地检测到静音/取消静音事件,但不能在远程方将其音频/视频静音/取消静音时检测到。
这是我的实现:

const socket = new WebSocketInterface('***');
const configuration: UAConfiguration = {
      sockets: [socket],uri: 'xxx@xxx',password: '***',realm: 'xxx'
};
this.ua = new UA(configuration);
this.ua.start();

调用远程方的代码

const options = {
  mediaConstraints: { audio: true,video: true },pcConfig: {
    iceServers: [
      { urls: ['***'] }
    ]
  }
};

this.session = this.ua?.call('xxx',options);

我在本地流(例如视频)上静音/取消静音的方式:

toggleLocalVideo(): boolean {
    const isMutedVideo =  this.session?.isMuted().video;
    if (isMutedVideo) {
      this.session?.unmute({video: true,audio: false});
    }else {
      this.session?.mute({video: true,audio: false});
    }
}

我检测本地流的方式已被静音/取消静音

this.session?.on('muted',e => {
  console.log('muted',e);
});
    
this.session?.on('unmuted',e => {
  console.log('unmuted',e);
});

是否有任何事件我可以侦听以检测远程方何时将其本地视频/音频流静音/取消静音?
如果没有事件,通知远程方本地流上的音频或视频已静音/取消静音的正确方法是什么?

感谢您的帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。