更新时间:2023-10-26 GMT+08:00
分享

音频设备管理

本章节介绍了全平台C++ SDK的IHRTCAudioDeviceManager接口详情。

表1 IHRTCAudioDeviceManager接口

接口

描述

getPlaybackDevices

获取系统音频播放设备列表

getRecordDevices

获取系统音频录制设备列表

setPlaybackDevice

指定音频播放设备

setRecordDevice

指定音频录制设备

setPlaybackDeviceVolume

设置音频播放设备音量

setRecordDeviceVolume

设置音频录制设备音量

getPlaybackDeviceVolume

获取音频播放设备音量

getRecordDeviceVolume

获取音频录制设备音量

setPlaybackDeviceMuteState

设置音频播放设备是否静音

setRecordDeviceMuteState

设置音频录制设备是否静音

getPlaybackDeviceMuteState

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

getRecordDeviceMuteState

获取音频录制设备静音状态

getCurrentPlaybackDevice

获取当前音频播放设备

getCurrentRecordDevice

获取当前音频录制设备

recordingDeviceTest

音频采集设备测试(只支持Windows和macOS)

finishRecordingDeviceTest

结束音频采集设备测试(只支持Windows和macOS)

playbackDeviceTest

音频播放设备测试(只支持Windows和macOS)

finishPlaybackDeviceTest

结束音频播放设备测试(只支持Windows和macOS)

echoTest

音频设备回路测试(只支持Windows和macOS)

finishEchoTest

结束音频设备回路测试(只支持Windows和macOS)

getPlaybackDevices

virtual int getPlaybackDevices(HRTCDeviceInfo *deviceInfo, unsigned int *counts)

功能说明

获取系统音频播放设备列表。

请求参数

  • deviceInfo:输出参数,获取系统设备详情,包括设备标识和设备名称。具体请参见HRTCDeviceInfo
  • counts:输入输出参数,获取deviceInfo对象数量,输入值为deviceInfo的数量,将会返回小于等于counts数量的设备信息。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

getRecordDevices

virtual int getRecordDevices(HRTCDeviceInfo *deviceInfo, unsigned int *counts)

功能说明

获取系统音频录制设备列表。

请求参数

  • deviceInfo:输出参数,获取系统设备详情,包括设备标识和设备名称。具体请参见HRTCDeviceInfo
  • counts:输入输出参数,获取deviceInfo对象数量,输入值为deviceInfo的数量,将会返回小于等于counts数量的设备信息。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setPlaybackDevice

virtual int setPlaybackDevice(const char deviceId[HRTC_MAX_DEVICE_ID_LEN + 1])

功能说明

指定音频播放设备。

请求参数

deviceId:设备标识。可通过getPlaybackDevices获取。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode
  • 通话前没有选择任何设备,通话中使用默认设备。
  • 通话前已选择指定设备,通话中直接生效。
  • 通话中有多个音频设备,拨出设备会自动切换。
  • 通话中无音频设备,新插入设备,需要重新调用该接口指定设备。

setRecordDevice

virtual int setRecordDevice(const char deviceId[HRTC_MAX_DEVICE_ID_LEN+ 1])

功能说明

指定音频录制设备。

请求参数

deviceId:设备标识。可通过getRecordDevices获取。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode
  • 通话前没有选择任何设备,通话中使用默认设备。
  • 通话前已选择指定设备,通话中直接生效。
  • 通话中有多个音频设备,拨出设备会自动切换。
  • 通话中无音频设备,新插入设备,需要重新调用该接口指定设备。

setPlaybackDeviceVolume

virtual int setPlaybackDeviceVolume(unsigned int volume)

功能说明

设置音频播放设备音量。

请求参数

volume:播放设备音量。取值范围为[0,100]。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setRecordDeviceVolume

virtual int setRecordDeviceVolume(unsigned int volume)

功能说明

设置音频录制设备音量。

请求参数

volume:录音设备音量。取值范围为[0,100]。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

getPlaybackDeviceVolume

virtual int getPlaybackDeviceVolume(unsigned int *volume)

功能说明

获取音频播放设备音量。

请求参数

volume:播放设备音量,取值范围为[0,100]。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

getRecordDeviceVolume

virtual int getRecordDeviceVolume(unsigned int *volume)

功能说明

获取音频录制设备音量。

请求参数

volume:输出参数,录音设备音量。取值范围为[0,100]。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setPlaybackDeviceMuteState

virtual int setPlaybackDeviceMuteState(bool mute)

功能说明

设置音频播放设备是否静音。

请求参数

mute:true表示设备设为静音,false表示设备设为不静音。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

setRecordDeviceMuteState

virtual int setRecordDeviceMuteState(bool mute)

功能说明

设置音频录制设备是否静音。

请求参数

mute:true表示设备设为静音,false表示设备设为非静音。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

getPlaybackDeviceMuteState

virtual int getPlaybackDeviceMuteState(bool *mute)

功能说明

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

请求参数

mute:true表示已静音状态,false表示非静音状态。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

getRecordDeviceMuteState

virtual int getRecordDeviceMuteState(bool *mute)

功能说明

获取音频录制设备静音状态。

请求参数

mute:true表示已静音状态,false表示非静音状态。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

getCurrentPlaybackDevice

virtual int getCurrentPlaybackDevice(char deviceId[HRTC_MAX_DEVICE_ID_LEN + 1])

功能说明

获取当前音频播放设备。

请求参数

deviceId:输出参数,当前播放设备标识。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

getCurrentRecordDevice

virtual int getCurrentRecordDevice(char deviceId[HRTC_MAX_DEVICE_ID_LEN+ 1])

功能说明

获取当前音频录制设备。

请求参数

deviceId:输出参数,当前录制设备标识。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

recordingDeviceTest

virtual int recordingDeviceTest(int intervalInMilliseconds)

功能说明

音频采集设备测试。

请求参数

intervalInMilliseconds:音量回调周期,单位毫秒,范围100到10000。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

只支持Windows和macOS。

finishRecordingDeviceTest

virtual int finishRecordingDeviceTest()

功能说明

结束音频采集设备测试。

请求参数

无。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

只支持Windows和macOS。

playbackDeviceTest

virtual int playbackDeviceTest(const char *testAudioFilePath)

功能说明

音频播放设备测试。

请求参数

testAudioFilePath:测试音频文件,只支持WAV格式。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

只支持Windows和macOS。

finishPlaybackDeviceTest

virtual int finishPlaybackDeviceTest()

功能说明

结束音频播放设备测试。

请求参数

d无。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

只支持Windows和macOS。

echoTest

virtual int echoTest(int intervalInMilliseconds)

功能说明

音频设备回路测试。

请求参数

intervalInMilliseconds:音量回调周期,单位毫秒,范围100到10000。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

只支持Windows和macOS。

finishEchoTest

virtual int finishEchoTest()

功能说明

结束音频设备回路测试。

请求参数

无。

返回参数

  • 0:方法调用成功。
  • > 0:方法调用失败。具体请参见HRTCErrorCode

只支持Windows和macOS。

相关文档