Public 成员函数

virtual IAudioDeviceCollectionenumeratePlaybackDevices ()=0
 
virtual IAudioDeviceCollectionenumerateRecordingDevices ()=0
 
virtual int setPlaybackDevice (const char deviceId[MAX_DEVICE_ID_LENGTH])=0
 
virtual int setRecordingDevice (const char deviceId[MAX_DEVICE_ID_LENGTH])=0
 
virtual int startPlaybackDeviceTest (const char *testAudioFilePath)=0
 
virtual int stopPlaybackDeviceTest ()=0
 
virtual int setPlaybackDeviceVolume (int volume)=0
 
virtual int getPlaybackDeviceVolume (int *volume)=0
 
virtual int setRecordingDeviceVolume (int volume)=0
 
virtual int getRecordingDeviceVolume (int *volume)=0
 
virtual int setPlaybackDeviceMute (bool mute)=0
 
virtual int getPlaybackDeviceMute (bool *mute)=0
 
virtual int setRecordingDeviceMute (bool mute)=0
 
virtual int getRecordingDeviceMute (bool *mute)=0
 
virtual int startRecordingDeviceTest (int indicationInterval)=0
 
virtual int stopRecordingDeviceTest ()=0
 
virtual int getPlaybackDevice (char deviceId[MAX_DEVICE_ID_LENGTH])=0
 
virtual int getPlaybackDeviceInfo (char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH])=0
 
virtual int getRecordingDevice (char deviceId[MAX_DEVICE_ID_LENGTH])=0
 
virtual int getRecordingDeviceInfo (char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH])=0
 
virtual int startAudioDeviceLoopbackTest (int indicationInterval)=0
 
virtual int stopAudioDeviceLoopbackTest ()=0
 
virtual void release ()=0
 

Protected 成员函数

virtual ~IAudioDeviceManager ()
 

详细描述

音频设备管理方法。

IAudioDeviceManager 接口类提供用于测试音频设备的相关接口。可通过实例化 IAudioDeviceManager 类来获取 IAudioDeviceManager 接口。

构造及析构函数说明

◆ ~IAudioDeviceManager()

virtual agora::rtc::IAudioDeviceManager::~IAudioDeviceManager ( )
inlineprotectedvirtual

成员函数说明

◆ enumeratePlaybackDevices()

virtual IAudioDeviceCollection* agora::rtc::IAudioDeviceManager::enumeratePlaybackDevices ( )
pure virtual

获取系统中所有的播放设备列表。

该方法返回一个 IAudioDeviceCollection 对象,包含系统中所有的播放设备。通过 IAudioDeviceCollection 对象,App 可以枚举播放设备。在使用结束后,App 需调用 release 方法销毁返回的对象。

返回
  • 一个 IAudioDeviceCollection 对象,包含所有的播放设备(方法调用成功);
  • NULL(方法调用失败)。

◆ enumerateRecordingDevices()

virtual IAudioDeviceCollection* agora::rtc::IAudioDeviceManager::enumerateRecordingDevices ( )
pure virtual

获取系统中所有的录音设备列表。

该方法返回一个 IAudioDeviceCollection 对象,包含系统中所有的录音设备。通过 IAudioDeviceCollection 对象,App 可以枚举录音设备。在使用结束后,App 需调用 release 方法销毁返回的对象。

返回
  • 一个 IAudioDeviceCollection 对象,包含所有的录音设备(方法调用成功);
  • NULL(方法调用失败)。

◆ setPlaybackDevice()

virtual int agora::rtc::IAudioDeviceManager::setPlaybackDevice ( const char  deviceId[MAX_DEVICE_ID_LENGTH])
pure virtual

指定播放设备。

参数
deviceId通过 deviceID 指定播放设备。由 enumeratePlaybackDevices 获取。插拔设备不会影响 deviceId。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ setRecordingDevice()

virtual int agora::rtc::IAudioDeviceManager::setRecordingDevice ( const char  deviceId[MAX_DEVICE_ID_LENGTH])
pure virtual

指定录音设备。

参数
deviceId录音设备的 Device ID。可通过 enumerateRecordingDevices 获取。插拔设备不会影响 deviceId。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ startPlaybackDeviceTest()

virtual int agora::rtc::IAudioDeviceManager::startPlaybackDeviceTest ( const char *  testAudioFilePath)
pure virtual

启动播放设备测试。

该方法测试播放设备是否能正常工作。启动测试后,SDK 播放指定的音频文件并通过 onAudioVolumeIndication 回调向 app 上报音量信息,测试者如果能听到声音,说明播放设备能正常工作。

参数
testAudioFilePath音频文件的绝对路径,路径字符串使用 UTF-8 编码格式。
  • 支持文件格式: wav、mp3、m4a、aac;
  • 支持文件采样率: 8000、16000、32000、44100、48000。
返回
  • 0,方法调用成功:你可以听到设置的音频文件的声音;
  • <0 方法调用失败

◆ stopPlaybackDeviceTest()

virtual int agora::rtc::IAudioDeviceManager::stopPlaybackDeviceTest ( )
pure virtual

停止播放设备测试。

返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ setPlaybackDeviceVolume()

virtual int agora::rtc::IAudioDeviceManager::setPlaybackDeviceVolume ( int  volume)
pure virtual

设置播放设备音量。

参数
volume播放设备音量。取值可在 [0,255]。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ getPlaybackDeviceVolume()

virtual int agora::rtc::IAudioDeviceManager::getPlaybackDeviceVolume ( int *  volume)
pure virtual

获取播放设备音量。

参数
volume播放设备音量。取值可在 [0,255]。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ setRecordingDeviceVolume()

virtual int agora::rtc::IAudioDeviceManager::setRecordingDeviceVolume ( int  volume)
pure virtual

设置录音设备音量。

参数
volume录音设备音量。取值范围 [0,255]。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ getRecordingDeviceVolume()

virtual int agora::rtc::IAudioDeviceManager::getRecordingDeviceVolume ( int *  volume)
pure virtual

获取录音设备音量。

参数
volume录音设备音量。取值范围 [0,255]。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ setPlaybackDeviceMute()

virtual int agora::rtc::IAudioDeviceManager::setPlaybackDeviceMute ( bool  mute)
pure virtual

静音播放设备。

参数
mute
  • true: 设备设为静音;
  • false: 设备设为不静音。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ getPlaybackDeviceMute()

virtual int agora::rtc::IAudioDeviceManager::getPlaybackDeviceMute ( bool *  mute)
pure virtual

获取播放设备静音状态。

参数
mute
  • true: 已静音状态;
  • false: 非静音状态。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ setRecordingDeviceMute()

virtual int agora::rtc::IAudioDeviceManager::setRecordingDeviceMute ( bool  mute)
pure virtual

静音录音设备。

参数
mute
  • true: 设备设为静音;
  • false: 设备设为非静音。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ getRecordingDeviceMute()

virtual int agora::rtc::IAudioDeviceManager::getRecordingDeviceMute ( bool *  mute)
pure virtual

获取录音设备静音状态。

参数
mute
  • true: 已静音状态;
  • false: 非静音状态。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ startRecordingDeviceTest()

virtual int agora::rtc::IAudioDeviceManager::startRecordingDeviceTest ( int  indicationInterval)
pure virtual

启动录音设备测试。

该方法测试录音设备是否能正常工作。启动测试后,SDK 通过 onAudioVolumeIndication 回调方法向 App 上报音量信息。

参数
indicationIntervalonAudioVolumeIndication 回调的周期(毫秒)
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ stopRecordingDeviceTest()

virtual int agora::rtc::IAudioDeviceManager::stopRecordingDeviceTest ( )
pure virtual

停止录音设备测试。

该方法停止录音设备测试。调用 startRecordingDeviceTest 后,必须调用该方法停止测试。

返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ getPlaybackDevice()

virtual int agora::rtc::IAudioDeviceManager::getPlaybackDevice ( char  deviceId[MAX_DEVICE_ID_LENGTH])
pure virtual

获取音频播放设备。

参数
deviceId音频播放设备的设备 ID。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ getPlaybackDeviceInfo()

virtual int agora::rtc::IAudioDeviceManager::getPlaybackDeviceInfo ( char  deviceId[MAX_DEVICE_ID_LENGTH],
char  deviceName[MAX_DEVICE_ID_LENGTH] 
)
pure virtual

根据设备 ID 和设备名称获取播放设备。

参数
deviceId播放设备的设备 ID。
deviceName播放设备的设备名称。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ getRecordingDevice()

virtual int agora::rtc::IAudioDeviceManager::getRecordingDevice ( char  deviceId[MAX_DEVICE_ID_LENGTH])
pure virtual

根据设备 ID 获取音频录制设备。

参数
deviceId录制设备的设备 ID。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ getRecordingDeviceInfo()

virtual int agora::rtc::IAudioDeviceManager::getRecordingDeviceInfo ( char  deviceId[MAX_DEVICE_ID_LENGTH],
char  deviceName[MAX_DEVICE_ID_LENGTH] 
)
pure virtual

根据设备名称和设备 ID 获取音频录制设备信息。

参数
deviceId音频录制设备的设备 ID。
deviceName音频录制设备的设备名称。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ startAudioDeviceLoopbackTest()

virtual int agora::rtc::IAudioDeviceManager::startAudioDeviceLoopbackTest ( int  indicationInterval)
pure virtual

开始音频设备回路测试。

该方法测试麦克风和播放设备是否能正常工作。一旦测试开始,麦克风会采集本地讲话声音,然后使用扬声器播放出来,同时 SDK 会通过 onAudioVolumeIndication 回调向应用程序上报音量信息。

注解
该方法仅在本地进行音频设备测试,不涉及网络连接。
参数
indicationIntervalSDK 返回 onAudioVolumeIndication 回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ stopAudioDeviceLoopbackTest()

virtual int agora::rtc::IAudioDeviceManager::stopAudioDeviceLoopbackTest ( )
pure virtual

停止音频设备回路测试。

注解
在调用 startAudioDeviceLoopbackTest 后,必须调用该方法停止音频设备回路测试。
返回
  • 0: 方法调用成功
  • < 0: 方法调用失败

◆ release()

virtual void agora::rtc::IAudioDeviceManager::release ( )
pure virtual

释放 IAudioDeviceManager 对象占用的所有资源。