質問・問題
WebSDK4.xのsetEnabled、setMutedの違いは何ですか?どちらを推奨しますか?
回答・解決方法
1.setEnabled、setMutedとは?
LocalTrackに属するメソッドになります。
どちらも映像のオン/オフ、音声のミュート/アンミュートを切り替えることができるAPIです。
setEnabled | トラックを無効/有効にします。無効時はキャプチャを停止します。 実行時にリモート側にuser-published/user-unpublishedがコールバックされます。 |
---|---|
setMuted | メディアデータを停止/送信します。(停止時にキャプチャは停止しません) 実行時にリモート側にuser-published/user-unpublishedがコールバックされます。 |
2.setEnabledとsetMutedの違い
主な違いはsetEnabledはキャプチャを停止するが、setMutedは停止しないことです。
API | フラグ | キャプチャ | データ送信 | カメラ インジケータランプ |
再開時間 (無効→有効) |
コールバック (リモート側) |
スマホ 音量(*) |
setEnabled | 無効(False) | 停止する | 停止する | 消灯する | - | user-unpublished | メディア音 |
有効(True) | 取得する | 送信する | 点灯する | 掛かる | user-published | 通話音 | |
setMuted | 無効(True) | 取得する | 停止する | 点灯する | - | user-unpublished | 通話音 |
有効(False) | 取得する | 送信する | 点灯する | 掛からない | user-published | 通話音 |
*Audio Profileが通話音の場合
3.どちらを推奨するか?
agoraとしてはsetMutedを推奨しています。
理由としては、ミュート(無効)からの再開時間が短くて済むためです。