setEnabled()
を使い、localAudioTrack
のmute
,unmute
を実現する。
localAudioTrack._enabled
プロパティを確認し、切り替えさせる。
async toggleMuteLocalAudioTrack () { if (this.rtc.localAudioTrack && this.rtc.localAudioTrack._enabled) { await this.rtc.localAudioTrack.setEnabled(false) } else { await this.rtc.localAudioTrack.setEnabled(true) } }
if
条件式で、localAudioTrack
の有無を確認していたが、close()
した場合、localAudioTrack
は使えなくなるが、オブジェクトが残るので、if
条件式を消す。
変更前
if (!this.rtc.localAudioTrack) { this.rtc.localAudioTrack = await AgoraRTC.createMicrophoneAudioTrack() }
変更後
this.rtc.localAudioTrack = await AgoraRTC.createMicrophoneAudioTrack()
ローカルトラックを閉じて、占有しているオーディオおよびビデオリソースを解放します。 ローカルトラックを閉じると、それを再利用することはできなくなります。
if (this.rtc.localAudioTrack) { this.rtc.localAudioTrack.close() }
1.チャネルに入った時 2.自分がミュートにした時 3.自分がミュートを解除した時 4.他の人がミュートのした時 5.他の人がミュートを解除のした時
user-published
user-unpublished
user-info-update
rtc.client.remoteUsers
_audio_enabled_
、_audio_muted_
という値が音声状態を表しているので、ここを見る。