IAgoraRtcAudioRecordingDeviceManager
IAgoraRtcAudioRecordingDeviceManager 类,用于关于音频采集设备。
EnumerateRecordingDevices
获取系统中所有的音频采集设备列表。
public abstract DeviceInfo[] EnumerateRecordingDevices();
返回值
- 方法调用成功,返回一个 DeviceInfo 数组,包含所有音频采集设备的设备 ID 和设备名称。
- 方法调用失败:NULL。
FollowSystemPlaybackDevice
设置 SDK 使用的音频播放设备跟随系统默认的音频播放设备。
public abstract int FollowSystemPlaybackDevice(bool enable);
参数
- enable
- 是否跟随系统默认的音频播放设备:
- true:跟随。当系统默认音频播放设备发生改变时,SDK 立即切换音频播放设备。
- false:不跟随。只有当 SDK 使用的音频播放设备被移除后,SDK 才切换至系统默认的音频播放设备。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
FollowSystemRecordingDevice
设置 SDK 使用的音频播放设备跟随系统默认的音频播放设备。
public abstract int FollowSystemRecordingDevice(bool enable);
- enable
- 是否跟随系统默认的音频播放设备:
- true:跟随。当系统默认音频播放设备发生改变时,SDK 立即切换音频播放设备。
- false:不跟随。只有当 SDK 使用的音频播放设备被移除后,SDK 才切换至系统默认的音频播放设备。
返回
- 0:方法调用成功
- < 0:方法调用失败
SetRecordingDevice
指定音频采集设备。
public abstract int SetRecordingDevice(string deviceId);
参数
- deviceId
-
音频采集设备的 Device ID。可通过 EnumerateRecordingDevices 获取。插拔设备不会影响 deviceId。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
StartRecordingDeviceTest
启动音频采集设备测试。
public abstract int StartRecordingDeviceTest(int indicationInterval);
该方法测试音频采集设备是否能正常工作。调用该方法后,SDK 会按设置的时间间隔触发 OnAudioVolumeIndication 回调,报告 uid = 0 及采集设备的音量信息。
注意: 该方法需要在加入频道前调用。
该方法测试音频采集设备是否能正常工作。
自 v3.6.2 起,该方法在加入频道前后均可调用,并按设置的时间间隔触发如下回调,报告采集设备的音量信息:
- 在加入频道前调用该方法,SDK 触发 OnAudioVolumeIndication 和 OnAudioDeviceTestVolumeIndication 回调,其中:
- OnAudioVolumeIndication 报告
uid = 0
和volume
。 - OnAudioDeviceTestVolumeIndication 报告
volumeType = AudioTestRecordingVolume(0)
和volume
。
- OnAudioVolumeIndication 报告
- 在加入频道后调用该方法,SDK 触发 OnAudioDeviceTestVolumeIndication 回调,报告
volumeType = AudioTestRecordingVolume(0)
和volume
。
注:
- 加入频道后调用该方法前,请确保音频采集设备处于开启状态,即 EnableLocalAudio(true)。否则,方法调用会失败,SDK 触发 OnError 回调,报告
ERR_ADM_START_RECORDING(1012)
错误码。 - 加入频道后调用该方法,测试的是 SDK 正在使用的音频采集设备。
- 调用该方法后,必须调 StopRecordingDeviceTest 方法停止测试。
参数
- indicationInterval
-
SDK 返回 OnAudioVolumeIndication 或 OnAudioDeviceTestVolumeIndication 回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。不得少于 10 毫秒,否则会收不到音量回调。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
StopRecordingDeviceTest
停止音频采集设备测试。
public abstract int StopRecordingDeviceTest();
该方法停止音频采集设备测试。调用 StartRecordingDeviceTest 后,必须调用该方法停止测试。
注意: 该方法需要在加入频道前调用。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
SetRecordingDeviceVolume
设置音频采集设备音量。
public abstract int SetRecordingDeviceVolume(int volume);
参数
- volume
- 音频采集设备音量。取值范围 [0,255]。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
GetRecordingDeviceVolume
获取音频采集设备音量。
public abstract int GetRecordingDeviceVolume();
返回值
音频采集设备音量。取值范围 [0,255]。
SetRecordingDeviceMute
设置当前音频采集设备静音。
public abstract int SetRecordingDeviceMute(bool mute);
参数
- mute
-
是否设置音频采集设备静音:
true
: 采集设备静音。false
: 采集设备为非静音。
返回值
- 0: 方法调用成功。
- < 0: 方法调用失败。
GetRecordingDeviceMute
获取当前音频采集设备静音状态。
public abstract bool GetRecordingDeviceMute();
返回值
true
: 采集设备为静音状态。false
: 采集设备为非静音状态。
GetRecordingDevice
获取当前音频采集设备。
public abstract string GetRecordingDevice();
返回值
当前音频采集设备。
GetRecordingDeviceInfo
根据设备名称和设备 ID 获取音频采集设备信息。
public abstract DeviceInfo GetRecordingDeviceInfo();
返回值
音频采集设备的设备信息,包含设备 ID 和设备名称:DeviceInfo。