NERtc Windows SDK
Public Member Functions | List of all members
nertc::IAudioDeviceManager Class Referenceabstract

#include <nertc_audio_device_manager.h>

Public Member Functions

virtual IDeviceCollectionenumerateRecordDevices ()=0
 
virtual int setRecordDevice (const char device_id[kNERtcMaxDeviceIDLength])=0
 
virtual int getRecordDevice (char device_id[kNERtcMaxDeviceIDLength])=0
 
virtual IDeviceCollectionenumeratePlayoutDevices ()=0
 
virtual int setPlayoutDevice (const char device_id[kNERtcMaxDeviceIDLength])=0
 
virtual int getPlayoutDevice (char device_id[kNERtcMaxDeviceIDLength])=0
 
virtual int setRecordDeviceVolume (uint32_t volume)=0
 
virtual int getRecordDeviceVolume (uint32_t *volume)=0
 
virtual int setPlayoutDeviceVolume (uint32_t volume)=0
 
virtual int getPlayoutDeviceVolume (uint32_t *volume)=0
 
virtual int setPlayoutDeviceMute (bool mute)=0
 
virtual int getPlayoutDeviceMute (bool *mute)=0
 
virtual int setRecordDeviceMute (bool mute)=0
 
virtual int getRecordDeviceMute (bool *mute)=0
 
virtual int adjustRecordingSignalVolume (uint32_t volume)=0
 
virtual int adjustPlaybackSignalVolume (uint32_t volume)=0
 
virtual int startRecordDeviceTest (uint64_t indication_interval)=0
 
virtual int stopRecordDeviceTest ()=0
 
virtual int startPlayoutDeviceTest (const char *test_audio_file_path)=0
 
virtual int stopPlayoutDeviceTest ()=0
 
virtual int startAudioDeviceLoopbackTest (uint64_t indication_interval)=0
 
virtual int stopAudioDeviceLoopbackTest ()=0
 

Detailed Description

音频设备管理方法。

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

Member Function Documentation

virtual int nertc::IAudioDeviceManager::adjustPlaybackSignalVolume ( uint32_t  volume)
pure virtual

调节本地播放音量。

Note
该方法仅调节应用程序中音量,不修改设备音量。如果需要修改设备音量,请查看设备管理相关接口。
Parameters
[in]volume播放音量。取值范围为 [0, 400]。其中:
  • 0: 静音;
  • 100: 原始音量;
  • 400: 最大可为原始音量的 4 倍(自带溢出保护)。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::adjustRecordingSignalVolume ( uint32_t  volume)
pure virtual

调节采集信号音量。

Note
该方法仅调节应用程序中的采集信号音量,不修改设备音量。如果需要修改设备音量,请查看设备管理相关接口。
Parameters
[in]volume采集录音音量,取值范围为 [0, 400]。其中:
  • 0: 静音;
  • 100: 原始音量;
  • 400: 最大可为原始音量的 4 倍(自带溢出保护)。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual IDeviceCollection* nertc::IAudioDeviceManager::enumeratePlayoutDevices ( )
pure virtual

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

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

Note
程序必须调用 destroy 方法销毁返回的值。
Returns
  • 方法调用成功:一个 IDeviceCollection 对象,包含所有的音频播放设备。
  • 方法调用失败:NULL 。
virtual IDeviceCollection* nertc::IAudioDeviceManager::enumerateRecordDevices ( )
pure virtual

获取系统中所有的音频采集设备列表。

该方法返回一个 IDeviceCollection 对象,包含系统中所有的音频采集设备。通过IDeviceCollection 对象,App 可以枚举音频采集设备。

Note
在使用结束后,App 需调用 destroy 方法销毁返回的对象。
Returns
  • 方法调用成功:一个 IDeviceCollection 对象,包含所有的音频采集设备。
  • 方法调用失败:NULL 。
virtual int nertc::IAudioDeviceManager::getPlayoutDevice ( char  device_id[kNERtcMaxDeviceIDLength])
pure virtual

获取当前使用的音频播放设备 ID。

Parameters
device_id音频播放设备的设备 ID。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::getPlayoutDeviceMute ( bool *  mute)
pure virtual

获取音频播放设备静音状态。

Parameters
mute音频播放设备静音状态。
  • true:静音状态。
  • false:非静音状态。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::getPlayoutDeviceVolume ( uint32_t *  volume)
pure virtual

获取音频播放设备音量。

Parameters
volume音频播放设备音量。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::getRecordDevice ( char  device_id[kNERtcMaxDeviceIDLength])
pure virtual

获取当前使用的音频采集设备 ID。

Parameters
device_id音频采集设备的设备 ID。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::getRecordDeviceMute ( bool *  mute)
pure virtual

获取音频采集设备静音状态。

Parameters
mute音频采集设备静音状态。
  • true: 静音状态。
  • false: 非静音状态。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::getRecordDeviceVolume ( uint32_t *  volume)
pure virtual

获取音频采集设备音量。

Parameters
volume音频采集设备音量。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::setPlayoutDevice ( const char  device_id[kNERtcMaxDeviceIDLength])
pure virtual

指定播放设备。

Parameters
device_id音频播放设备的设备 ID。可以通过 enumeratePlayoutDevices 获取。插拔设备不会影响 deviceId。
Returns
  • 方法调用成功:一个 IDeviceCollection 对象,包含所有的音频播放设备。
  • 方法调用失败:NULL 。
virtual int nertc::IAudioDeviceManager::setPlayoutDeviceMute ( bool  mute)
pure virtual

静音或取消静音音频播放设备。

Parameters
mute是否静音音频播放设备。
  • true:静音音频播放设备。
  • false:取消静音音频播放设备。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::setPlayoutDeviceVolume ( uint32_t  volume)
pure virtual

设置音频播放设备音量。

Parameters
volume音频播放设备音量。取值范围为 0~255。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::setRecordDevice ( const char  device_id[kNERtcMaxDeviceIDLength])
pure virtual

指定音频采集设备。

Parameters
device_id音频采集设备的设备 ID。可通过 enumerateRecordDevices 获取。插拔设备不会影响 deviceId。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::setRecordDeviceMute ( bool  mute)
pure virtual

静音或取消静音音频采集设备。

Parameters
mute是否静音音频采集设备。
  • true:静音音频采集设备。
  • false:取消静音音频采集设备。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::setRecordDeviceVolume ( uint32_t  volume)
pure virtual

设置音频采集设备音量。

Parameters
volume音频采集设备音量。取值范围为 0~255。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::startAudioDeviceLoopbackTest ( uint64_t  indication_interval)
pure virtual

开始音频设备回路测试。

该方法测试音频采集和播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地音频,然后使用音频播放设备播放出来。 SDK 会按设置的时间间隔触发 onLocalAudioVolumeIndication 回调, 报告音量信息。

Note
  • 该方法需在加入房间前调用。
  • 音频设备回路测试会在通话开始后自动结束,您也可以手动调用 stopAudioDeviceLoopbackTest 停止音频设备回路测试。
  • 该方法仅在本地进行音频设备测试,不涉及网络连接。
Parameters
indication_intervalSDK 返回 onLocalAudioVolumeIndication 回调的 时间间隔,单位为毫秒。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::startPlayoutDeviceTest ( const char *  test_audio_file_path)
pure virtual

启动音频播放设备测试。

该方法测试音频播放设备是否能正常工作。启动测试后,SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。

调用该方法后,SDK 会每隔 100 ms 触发一次 onLocalAudioVolumeIndication 回调,报告播放设备的音量信息。

Note
  • 该方法需在加入房间前调用。
  • 音频播放设备测试会在通话开始后自动结束,您也可以手动调用 stopPlayoutDeviceTest 停止音频播放设备测试。
  • 支持文件格式包括 wav、mp3、aac。
Parameters
test_audio_file_path音频文件的绝对路径,路径字符串使用 UTF-8 编码格式。
Returns
  • 0: 成功,并且可以听到所设置文件的声音。
  • 其他:失败。
virtual int nertc::IAudioDeviceManager::startRecordDeviceTest ( uint64_t  indication_interval)
pure virtual

启动音频采集设备测试。

该方法测试音频采集设备是否能正常工作。

调用该方法后,SDK 会按设置的时间间隔触发 onLocalAudioVolumeIndication 回调, 报告采集设备的音量信息。

Note
  • 该方法需在加入房间前调用。
  • 音频采集设备测试会在通话开始后自动结束,您也可以手动调用 stopRecordDeviceTest 停止音频采集设备测试。
Parameters
indication_intervalSDK 返回 onLocalAudioVolumeIndication 回调的时间间隔,单位为毫秒。
Returns
  • 0: Success.
  • other: Failure.
virtual int nertc::IAudioDeviceManager::stopAudioDeviceLoopbackTest ( )
pure virtual

停止音频设备回路测试。

Note
  • 该方法需在加入房间前调用。
  • 音频设备回路测试会在通话开始后自动结束,您也可以手动调用 stopAudioDeviceLoopbackTest 停止音频设备回路测试。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::stopPlayoutDeviceTest ( )
pure virtual

停止播放设备测试。

Note
  • 该方法需在加入房间前调用。
  • 播放设备测试会在通话开始后自动结束,您也可以手动调用 stopPlayoutDeviceTest 停止播放设备测试。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。
virtual int nertc::IAudioDeviceManager::stopRecordDeviceTest ( )
pure virtual

停止音频采集设备测试。

该方法停止音频采集设备测试。

Note
  • 该方法需在加入房间前调用。
  • 音频采集设备测试会在通话开始后自动结束,您也可以手动调用 stopRecordDeviceTest 停止音频采集设备测试。
Returns
  • 0: 方法调用成功;
  • 其他: 方法调用失败。

The documentation for this class was generated from the following file: