设置通话音量

更新时间: 2024/03/15 17:25:03

在音视频通话和互动直播过程中,为了提高产品使用者的体验,NERTC SDK 支持调整各种声音的音量,例如调整 SDK 采集的声音、播放的声音等。音量调节功能适用于多种需要自定义调节音量的场景。

除此之外,NERTC SDK 也支持通过监听回调的方式获取房间内成员的音量。在一些语音连麦场景或者视频会议场景中,产品应用层常常需要获取发言者的音量,并通过 UI 进行音量展示,或者根据发言者的音量大小进行视图布局的动态调整。详细信息请参考监测发言者音量

设置采集音量

NERTC SDK 通过录音设备采集房间内成员的音频信号,将其录制下来以后播放给远端用户收听。

技术原理

采集.png

实现方法

调用 setCaptureVolume 方法设置录制声音的信号幅度,从而达到调节采集音量的目的。具体参数说明如下表所示。

参数
参数说明

volume

设置录音信号的音量百分比。取值范围为 0 ~ 100:

  • 0:静音。
  • 100:最大音量。

mediaTypeAudio

采集类型,可以设置为:

  • microphone:麦克风采集音量。
  • screenAudio:屏幕共享音频。仅在使用音频共享的场景下,需要设置此参数,一般默认为调整麦克风音量。

示例代码如下:

//普通场景下,默认为调节麦克风音量
rtc.localStream.setCaptureVolume(50)

//开启音频共享的场景下
//设置麦克风采集音量为50
rtc.localStream.setCaptureVolume(50, 'microphone')
//设置屏幕共享音频音量为50
rtc.localStream.setCaptureVolume(50, 'screenAudio')

设置播放音量

在音视频通话过程中,音频信号从发送端进入到接收端,然后使用播放设备进行播放。

由于 iOS 系统限制,不支持在 iOS 端的 H5 应用中调节播放音量,包括微信、Safari等。用户可以使用侧边物理按键调节音量。

技术原理

web端播放音量原理图.png

实现方法

调用 remoteStream.setAudioVolumeClient.setPlaybackVolume 方法调节播放声音的信号幅度,从而达到调节播放音量的目的。

两个接口的对比如下表所示。

接口 生效的对象 调用时机
setAudioVolume 针对某个远端用户的音频流生效。 对应的远端用户进入房间后。
setPlaybackVolume 针对该房间内的所有远端用户的音频流生效。按房间级别控制音量,方便您快速调节音量。 远端用户进入房间之前,就可以控制音量。

参数说明如下表所示。

参数 描述

volume

设置播放信号的音量百分比,取值范围为 0 ~ 100:

  • 0:静音。
  • 100:最大音量。
  • 当调用setPlaybackVolume 方法将音量设置为 0 时,active-speakervolume-indicator 不再有回调。
  • 如果您在 remoteStream.setAudioVolumeClient.setPlaybackVolume中都设置了音量,实际输出的音量值为 “setAudioVolume 音量值 × setPlaybackVolume 音量值”。例如Client.setPlaybackVolume 中的音量值设为 90,remoteStream.setAudioVolume 中的音量值设为70,实际输出音量为“90% × 70% = 63%”。

示例代码如下:

//设置某个远端用户的播放音量为50
remoteStream.setAudioVolume(50)

// 设置整个房间的远端用户的播放音量为 50
client.setPlaybackVolume(50)
此文档是否对你有帮助?
有帮助
去反馈
  • 设置采集音量
  • 技术原理
  • 实现方法
  • 设置播放音量
  • 技术原理
  • 实现方法