音量
本文介绍如何设置音频采集音量、耳返播放的音量以及如何对播放音频进行静音。
本文不介绍混音音量控制。请另行参见混音文档。
设置采集音量
采集是指音频信号由 采集设备(麦克风)采集,然后传输到发送端的过程。您可以通过 RCRTCMicOutputStream 的 recordingVolume
属性设置麦克风采集音量。
提示
- 如果 SDK 版本 < 5.3.4,采集音量范围为 0 ~ 100,默认值 100
- 如果 SDK 版本 ≥ 5.3.4,采集音量范围为 0 ~ 200,默认值 100
接口原型
Objective C
@property (nonatomic, assign) NSUInteger recordingVolume;
属性说明
属性 | 类型 | 说明 |
---|---|---|
recordingVolume | NSUInteger | 麦克风采集音量,范围 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;
参数说明
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
enable | BOOL | 是 | 是否启用耳返功能 |
返回值
设置成功返回 0
,失败返回 -1
。
设置耳返音量
接口原型
Objective C
- (int)setInEarMonitoringVolume:(NSUInteger)volume;
参数说明
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
volume | NSUInteger | 是 | 耳返音量,取值范围 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 开始,您可以通过 RCRTCEngine
的 remotePlaybackVolume
属性调节远端播放音量。该属性调节的是本地播放的所有远端用户混音后的音量。
接口原型
Objective C
@property (nonatomic, assign) NSUInteger remotePlaybackVolume;
属性说明
属性 | 类型 | 说明 |
---|---|---|
remotePlaybackVolume | NSUInteger | 远端播放音量,范围 0 ~ 200,0 表示静音,默认值 100 |
代码示例
Objective C
#import <RongRTCLib/RongRTCLib.h>
// 设置远端音频播放音量为 150
[RCRTCEngine sharedInstance].remotePlaybackVolume = 150;
静音本地音频流
您可以通过调用媒体流对象 RCRTCStream
的 isMute 属性设置是否静默。
提示
当前静音方式只是不再发送本地音频数据,但不影响音频数据采集。
接口原型
Objective C
@property (nonatomic, assign, readwrite) BOOL isMute;
属性说明
属性 | 类型 | 说明 |
---|---|---|
isMute | BOOL | 是否静音。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;
参数说明
参数 | 类型 | 是否必填 | 说明 |
---|---|---|---|
mute | BOOL | 是 | YES:开启静音;NO:关闭静音(默认) |
代码示例
Objective C
#import <RongRTCLib/RongRTCLib.h>
// 静音房间内所有远端音频流
[self.room muteAllRemoteAudio:YES];