我正在使用 Agora 的 Web SDK 进行群组音频通话。我正在尝试实现一个简单的静音按钮,用户可以在通话中单击该按钮以将其音频静音。
当本地用户将他们的麦克风静音时,远程用户应该看到该用户的麦克风已静音。为了实现这一点,当用户连接到流时,我们添加了一个事件处理程序来侦听“静音音频”事件,该事件应该在远程用户将麦克风静音时触发。
在Web SDK 3.x系列中有一个带有静音功能的流对象,但是在4.x Agora API中,我没有看到这样的功能。
现在我使用 localAudioTrack.setVolume(0) 静音和 localAudioTrack.setVolume(100) 取消静音,除了它不会触发“静音音频”事件以让远程参与者知道远程用户被静音或取消静音.
我也试过 localAudioTrack.setEnabled(false) 来静音本地音频,但这不起作用。
希望得到一些指导。谢谢!
小智 5
setEnabled 是在新的 Agora NG SDK 中静音音频/视频的正确方法。
示例代码:
function toggleMic() {
if ($("#mic-icon").hasClass('fa-microphone')) {
localTracks.audioTrack.setEnabled(false);
console.log("Audio Muted.");
} else {
localTracks.audioTrack.setEnabled(true);
console.log("Audio Unmuted.");
}
$("#mic-icon").toggleClass('fa-microphone').toggleClass('fa-microphone-slash');
}
// Toggle Video
function toggleVideo() {
if ($("#video-icon").hasClass('fa-video')) {
localTracks.videoTrack.setEnabled(false);
console.log("Video Muted.");
} else {
localTracks.videoTrack.setEnabled(true);
console.log("Video Unmuted.");
}
$("#video-icon").toggleClass('fa-video').toggleClass('fa-video-slash');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
569 次 |
| 最近记录: |