SDK 支持对采集和播放的音频音量进行调整,以满足用户实际应用场景。如果使用调整信号音量的方法将音量设置过大,在某些设备上可能会出现音频失真
相关函数接口在 c++-sdk 2.5.5 及以上版本支持
调用 setAudioPlayoutVolume 调整音频播放信号的音量,该接口会调整 SDK 最终送往扬声器播放的数据的音量,如果只想设置某个用户的播放音量,需要使用 setRemoteAudioVolume 接口。
// 设置本地播放的媒体音量大小 m_pBrtc->setAudioPlayoutVolume(50); // 获取播放音量大小 int curVolume = m_pBrtc->getAudioPlayoutVolume();
在音频采集、混音、播放的整个过程中,你都可以通过 onUserVoiceVolume 回调获取房间内所有正在说话的人的用户 ID 及他们的音量。
class BRTCCore : public BRTCCallback, public BRTCAudioFrameCallback { public: void onUserVoiceVolume(BRTCVolumeInfo* userVolumes, uint32_t userVolumesCount, uint32_t totalVolume) override; private: BRTC* m_pBrtc = nullptr; } BRTCCore::BRTCCore() { m_pBrtc = getBRTCShareInstance(); m_pBrtc->setCallback(this); // 启用 onUserVoiceVolume 回调,默认是300毫秒 m_pBrtc->enableAudioVolumeEvaluation(300); } void BRTCCore::onUserVoiceVolume(BRTCVolumeInfo* userVolumes, uint32_t userVolumesCount, uint32_t totalVolume) { for (uint32_t i = 0; i < userVolumesCount; i++) { BRTCVolumeInfo volumeInfo = userVolumes[i]; std::string* str = new std::string(volumeInfo.userId); LOG(INFO) << "userId[" << (*str).c_str() << "], volume[" << volumeInfo.volume << "]"; } }
调用 setAudioCaptureVolume 调整音频采集信号的音量,通过 getAudioCaptureVolume 函数调用读取麦克风的采集音量。
m_pBrtc->setAudioCaptureVolume(60); int curVolume = m_pBrtc->getAudioCaptureVolume();
使用采集设备采集音频信号时,SDK 默认使用采集设备音量为 100。音将 volume 设置成 100 之后感觉音量还是太小,可以将 volume 最大设置成 150,但超过 100 的 volume 会有爆音的风险,请谨慎操作。如果 SDK 检测到采集设备音量在当前环境中过低,SDK 会自动提高采集设备音量。采集设备音量影响设备的全局音量。如果采集设备音量无法满足你的需求,你可以通调节麦克风或声卡采集的信号幅度,从而调节采集音量。
调整通话音量
SDK 支持对采集和播放的音频音量进行调整,以满足用户实际应用场景。如果使用调整信号音量的方法将音量设置过大,在某些设备上可能会出现音频失真
相关函数接口在 c++-sdk 2.5.5 及以上版本支持
调整播放音量
调用 setAudioPlayoutVolume 调整音频播放信号的音量,该接口会调整 SDK 最终送往扬声器播放的数据的音量,如果只想设置某个用户的播放音量,需要使用 setRemoteAudioVolume 接口。
获取用户音量(回调)
在音频采集、混音、播放的整个过程中,你都可以通过 onUserVoiceVolume 回调获取房间内所有正在说话的人的用户 ID 及他们的音量。
调整采集音量
调用 setAudioCaptureVolume 调整音频采集信号的音量,通过 getAudioCaptureVolume 函数调用读取麦克风的采集音量。
注意事项
使用采集设备采集音频信号时,SDK 默认使用采集设备音量为 100。音将 volume 设置成 100 之后感觉音量还是太小,可以将 volume 最大设置成 150,但超过 100 的 volume 会有爆音的风险,请谨慎操作。
如果 SDK 检测到采集设备音量在当前环境中过低,SDK 会自动提高采集设备音量。采集设备音量影响设备的全局音量。如果采集设备音量无法满足你的需求,你可以通调节麦克风或声卡采集的信号幅度,从而调节采集音量。