0

Web Angular プロジェクトで JsSIP ライブラリを使用しており、2 つのパーティ間で 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);
});

リモートパーティがローカルビデオ/オーディオストリームをミュート/ミュート解除したときに検出できるイベントはありますか?
そのためのイベントがない場合、オーディオまたはビデオがローカルストリームでミュート/ミュート解除されたことをリモートパーティに通知する適切な方法は何ですか?

ご協力いただきありがとうございます !

4

0 に答える 0