跳到主要内容

音量

本文介绍如何设置音频采集音量、耳返播放的音量以及如何对播放音频进行静音。

本文不介绍混音音量控制。请另行参见混音文档。

设置采集音量

采集是指音频信号由采集设备(麦克风)采集,然后传输到发送端的过程。您可以通过 RCRTCMicOutputStreamrecordingVolume 属性设置麦克风采集音量。

提示
  • 如果 SDK 版本 < 5.3.4,采集音量范围为 0 ~ 100,默认值 100
  • 如果 SDK 版本 ≥ 5.3.4,采集音量范围为 0 ~ 200,默认值 100

接口原型

Objective C
@property (nonatomic, assign) NSUInteger recordingVolume;

属性说明

属性类型说明
recordingVolumeNSUInteger麦克风采集音量,范围 0 ~ 200,默认值 100

代码示例

Objective C
#import <RongRTCLib/RongRTCLib.h>

// 设置麦克风采集音量为 150
[RCRTCEngine sharedInstance].defaultAudioStream.recordingVolume = 150;
提示

RCRTCMicOutputStream 对象不能自行创建,需要通过 [RCRTCEngine sharedInstance].defaultAudioStream 获取。

设置耳返音量

耳返是指将本地麦克风采集的音频实时播放给用户听到的功能。SDK 支持通过 RCRTCAudioEffectManager 管理耳返功能。

启用/禁用耳返

接口原型

Objective C
- (int)enableInEarMonitoring:(BOOL)enable;

参数说明

参数类型是否必填说明
enableBOOL是否启用耳返功能

返回值

设置成功返回 0,失败返回 -1

设置耳返音量

接口原型

Objective C
- (int)setInEarMonitoringVolume:(NSUInteger)volume;

参数说明

参数类型是否必填说明
volumeNSUInteger耳返音量,取值范围 0 ~ 100

返回值

设置成功返回 0,失败返回 -1

代码示例

Objective C
#import <RongRTCLib/RongRTCLib.h>

// 启用耳返功能
[[RCRTCEngine sharedInstance].audioEffectManager enableInEarMonitoring:YES];

// 设置耳返音量为 80
[[RCRTCEngine sharedInstance].audioEffectManager setInEarMonitoringVolume:80];

设置播放音量

  • 如果 SDK 版本 < 5.3.4,不支持设置播放音量值,仅支持设置指定或全部远端音频流为静默状态,实现静音效果。
  • 如果 SDK 版本 ≧ 5.3.4,可调节远端播放音量。

调节远端播放音量

提示

SDK 从 5.3.4 版本开始支持调节远端播放音量。

从 5.3.4 开始,您可以通过 RCRTCEngineremotePlaybackVolume 属性调节远端播放音量。该属性调节的是本地播放的所有远端用户混音后的音量。

接口原型

Objective C
@property (nonatomic, assign) NSUInteger remotePlaybackVolume;

属性说明

属性类型说明
remotePlaybackVolumeNSUInteger远端播放音量,范围 0 ~ 200,0 表示静音,默认值 100

代码示例

Objective C
#import <RongRTCLib/RongRTCLib.h>

// 设置远端音频播放音量为 150
[RCRTCEngine sharedInstance].remotePlaybackVolume = 150;

静音本地音频流

您可以通过调用媒体流对象 RCRTCStreamisMute 属性设置是否静默。

提示

当前静音方式只是不再发送本地音频数据,但不影响音频数据采集。

接口原型

Objective C
@property (nonatomic, assign, readwrite) BOOL isMute;

属性说明

属性类型说明
isMuteBOOL是否静音。YES:静音;NO:不静音

代码示例

Objective C
#import <RongRTCLib/RongRTCLib.h>

// 设置本地音频流为静音状态
[RCRTCEngine sharedInstance].defaultAudioStream.isMute = YES;

静音远端音频流

提示

当前静音方式只是不再播放远端音频,但不影响远端音频数据接收。

代码示例

Objective C
#import <RongRTCLib/RongRTCLib.h>

// 设置指定远端音频流为静音状态
remoteAudioStream.isMute = YES;

静音房间内全部远端音频流

您可以在用户加入房间后,通过当前房间对象 RCRTCRoom 调用 muteAllRemoteAudio 方法将房间内接收到的所有远端音频流静音。默认不开启。

提示

当前静音方式只是不播放接收的音频数据,不影响音频数据接收。

接口原型

Objective C
- (void)muteAllRemoteAudio:(BOOL)mute;

参数说明

参数类型是否必填说明
muteBOOLYES:开启静音;NO:关闭静音(默认)

代码示例

Objective C
#import <RongRTCLib/RongRTCLib.h>

// 静音房间内所有远端音频流
[self.room muteAllRemoteAudio:YES];

API 文档