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);
});
リモートパーティがローカルビデオ/オーディオストリームをミュート/ミュート解除したときに検出できるイベントはありますか?
そのためのイベントがない場合、オーディオまたはビデオがローカルストリームでミュート/ミュート解除されたことをリモートパーティに通知する適切な方法は何ですか?
ご協力いただきありがとうございます !