功能描述
使用 Web SDK 时,SDK 可以对采集声音、播放声音等进行音量调整,来满足产品在声音上的个性化需求。
调整音量实际上是对音频轨道的输出或输入的音量进行调整,音频轨道分为:本地音频轨道、远端用户的音频轨道,可通过音频轨道的 setVolume
方法调整音频音量。
功能实现
调整采集音量
调整采集音量:对本地音频轨道所采集声音的信号幅度进行放大或缩小,从而控制采集音量的大小。
实现步骤
- 创建一个本地音频轨道
localAudioTrack
。 - 调用 setVolume 调整本地音频轨道的采集音量大小
本地音频轨道可以通过以下 API 获取:
方法 | 描述 |
---|---|
createMicrophoneAudioTrack | 通过麦克风采集的音频创建音频轨道 |
createBufferSourceAudioTrack | 通过音频文件创建音频轨道 |
createCustomAudioTrack | 创建自定义音频轨道 |
采集音量取值范围:[0, 1000]
- 最小值:0 (静音)
- 默认值:100 (原始音量)
- 最大值:1000 (原始音量放大10倍)
采集音量设置过高在设备上播放可能出现爆音现象。
示例
// 创建的本地麦克风音频轨道
const localAudioTrack = await ArRTC.createMicrophoneAudioTrack();
// 麦克风音量减半
localAudioTrack.setVolume(50);
// 麦克风音量增大一倍
localAudioTrack.setVolume(200);
// 将麦克风音量设置为 0
localAudioTrack.setVolume(0);
调整播放音量
远端用户音频轨道是通过订阅远端用户音频轨道获得。
调整播放音量:对远端用户音频轨道播放前的声音信号幅度进行放大或缩小,从而控制输出音量的大小。
实现步骤
- 获取远端用户的音频轨道。
- 调用 setVolume 调整音频轨道的播放音量大小
播放音量取值范围:[0, 1000]
- 最小值:0 (静音)
- 默认值:100 (原始音量)
- 最大值:1000 (原始音量放大10倍)
播放音量设置过高在设备上可能出现爆音现象。
示例
remoteUser
: 远端用户
remoteUser.audioTrack
: 远端用户的音频轨道
// 监听远端用户发布的音视频
rtcClient.on("user-published", async (remoteUser, mediaType) => {
if (mediaType === "audio") {
// 订阅并获得远端用户发布的音频轨道
await rtcClient.subscribe(remoteUser, mediaType);
// 将音量减少一半
remoteUser.audioTrack.setVolume(50);
// 将音量增大一倍
remoteUser.audioTrack.setVolume(200);
// 将远端音量设置为 0
remoteUser.audioTrack.setVolume(0);
}
})
API 参考
- 调整采集音量 LocalAudioTrack.setVolume
- 调整播放音量 RemoteAudioTrack.setVolume