音频设备管理

  • C++

更新时间不可用

enumeratePlaybackDevices

枚举系统中的音频播放设备。

C++
virtual IAudioDeviceCollection *enumeratePlaybackDevices() = 0;

该方法返回一个 IAudioDeviceCollection 对象,包含系统中的所有音频播放设备。使用该对象后,必须调用 release 方法释放资源。

注: 该方法仅适用于 Windows 和 macOS 平台。

返回值

所属接口类

enumerateRecordingDevices

枚举音频采集设备。

C++
virtual IAudioDeviceCollection *enumerateRecordingDevices() = 0;

该方法返回一个 IAudioDeviceCollection 对象,其中包含系统中的所有音频采集设备。使用该对象后,你必须调用 release 方法释放资源。

注: 该方法仅适用于 Windows 和 macOS 平台。

返回值

所属接口类

followSystemLoopbackDevice

设置是否跟随系统默认音频播放设备。

C++
virtual int followSystemLoopbackDevice(bool enable) = 0;

该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
enable

是否跟随系统默认音频播放设备:

  • true:跟随系统默认音频播放设备。当系统默认播放设备发生变化时,SDK 会立即切换到对应的声卡采集设备。
  • false:不跟随系统默认音频播放设备。仅当当前音频播放设备断开连接时,SDK 才会将声卡采集设备切换为系统默认音频播放设备。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

followSystemPlaybackDevice

设置 SDK 是否跟随系统默认音频播放设备。

C++
virtual int followSystemPlaybackDevice(bool enable) = 0;

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
enable

是否跟随系统默认音频播放设备:

  • true:跟随系统默认音频播放设备。当系统默认音频播放设备发生变化时,SDK 会立即切换音频播放设备。
  • false:不跟随系统默认音频播放设备。仅当当前使用的音频播放设备断开连接时,SDK 才会切换到系统默认音频播放设备。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

followSystemRecordingDevice

设置 SDK 是否跟随系统默认音频录制设备。

C++
virtual int followSystemRecordingDevice(bool enable) = 0;

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
enable

是否跟随系统默认音频录制设备:

  • true:跟随系统默认音频录制设备。当系统默认设备发生变化时,SDK 会立即切换。
  • false:不跟随系统默认音频录制设备。仅当当前设备断开连接时,SDK 才会切换到系统默认设备。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getApplicationVolume

获取 App 的音量。

C++
virtual int getApplicationVolume(int &volume) = 0;

参数

参数名描述
volume

输出参数,表示 App 的音量,取值范围为 [0,255]。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getAudioDeviceInfo

获取音频设备信息。

C++
virtual int getAudioDeviceInfo(DeviceInfo& deviceInfo) = 0;

调用该方法可以获取音频设备是否支持超低延迟采集和播放。

注:

  • 该方法仅适用于 Android 平台。
  • 你可以在加入频道前或后调用该方法。

参数

参数名描述
deviceInfo

输入和输出参数,表示音频设备信息。详见 DeviceInfo。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getCount

获取音频播放设备或音频采集设备的总数。

C++
virtual int getCount() = 0;

如果在调用该方法前调用了 enumeratePlaybackDevices,SDK 会返回音频播放设备的数量;如果在调用该方法前调用了 enumerateRecordingDevices,SDK 会返回音频采集设备的数量。

返回值

方法调用成功,返回音频播放设备或音频采集设备的总数。

所属接口类

getDefaultDevice [2/2]

获取系统默认音频设备及其类型。

C++
virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;

该方法仅适用于 macOS 平台。调用该方法前,你需要先调用 enumeratePlaybackDevices 或 enumerateRecordingDevices 获取设备列表。

参数

参数名描述
deviceName

输出参数,系统默认音频设备的名称。

deviceTypeName

输出参数,音频设备的类型,例如内置设备、USB 或 HDMI。

deviceId

输出参数,系统默认音频设备的设备 ID。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getDefaultDevice [1/2]

获取系统默认音频设备。

C++
virtual int getDefaultDevice(char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;

参数

参数名描述
deviceName

输出参数,系统默认音频设备的名称。

deviceId

输出参数,系统默认音频设备的设备 ID。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getDevice [2/2]

按索引获取音频设备的名称、类型和 ID。

C++
virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;

注: 该方法仅适用于 macOS 平台。

参数

参数名描述
index

设备的索引。

deviceName

输出参数,设备名称。

deviceTypeName

输出参数,音频设备的类型,例如内建、USB 和 HDMI。

deviceId

输出参数,设备 ID。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getDevice [1/2]

获取指定索引的视频设备的信息。

C++
virtual int getDevice(int index, char deviceName[MAX_DEVICE_ID_LENGTH], char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;

参数

参数名描述
index

视频设备的索引值。该值必须小于 getCount 返回的设备数量。

deviceName

输出参数,表示设备名称。最大长度为 MAX_DEVICE_ID_LENGTH_TYPE。

deviceId

输出参数,表示视频设备的设备 ID。最大长度为 MAX_DEVICE_ID_LENGTH_TYPE。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getLoopbackDevice

获取当前的声卡采集设备。

C++
virtual int getLoopbackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;

该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceId

输出参数,当前声卡采集设备的 ID。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getPlaybackDevice

检索与设备 ID 关联的音频播放设备。

C++
virtual int getPlaybackDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceId

输出参数,表示音频播放设备的设备 ID。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getPlaybackDeviceInfo [1/2]

获取音频播放设备的信息。

C++
virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0;

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceId

音频播放设备的 ID,最大长度为 MAX_DEVICE_ID_LENGTH_TYPE。

deviceName

输出参数,播放设备的名称,最大长度为 MAX_DEVICE_ID_LENGTH_TYPE。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getPlaybackDeviceInfo [2/2]

获取音频播放设备的信息和类型。

C++
virtual int getPlaybackDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH]) = 0;

该方法仅适用于 macOS 平台。

参数

参数名描述
deviceId

音频播放设备的 ID。

deviceName

输出参数,播放设备的名称。

deviceTypeName

输出参数,音频播放设备的类型,例如内置设备、USB 和 HDMI。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getPlaybackDeviceMute

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

C++
virtual int getPlaybackDeviceMute(bool *mute) = 0;

参数

参数名描述
mute

输出参数,表示音频播放设备是否被静音。

  • true:音频播放设备被静音。
  • false:音频播放设备未被静音。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getPlaybackDeviceVolume

获取音频播放设备的音量。

C++
virtual int getPlaybackDeviceVolume(int *volume) = 0;

参数

参数名描述
volume

输出参数,表示音频播放设备的音量,取值范围为 [0, 255]。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getRecordingDevice

获取当前音频录制设备的设备 ID。

C++
virtual int getRecordingDevice(char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceId

输出参数,当前音频录制设备的设备 ID。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getRecordingDeviceInfo [1/2]

获取音频录制设备的信息。

C++
virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH]) = 0;

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceId

音频录制设备的 ID。

deviceName

输出参数,录制设备的名称。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getRecordingDeviceInfo [2/2]

获取音频采集设备的信息和类型。

C++
virtual int getRecordingDeviceInfo(char deviceId[MAX_DEVICE_ID_LENGTH], char deviceName[MAX_DEVICE_ID_LENGTH], char deviceTypeName[MAX_DEVICE_ID_LENGTH]) = 0;

该方法仅适用于 macOS 平台。

参数

参数名描述
deviceId

音频播放设备的 ID,最大长度为 MAX_DEVICE_ID_LENGTH_TYPE。

deviceName

输出参数,表示播放设备的名称,最大长度为 MAX_DEVICE_ID_LENGTH_TYPE。

deviceTypeName

输出参数,表示音频采集设备的类型,例如内置设备、USB 和 HDMI,最大长度为 MAX_DEVICE_ID_LENGTH_TYPE。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getRecordingDeviceMute

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

C++
virtual int getRecordingDeviceMute(bool *mute) = 0;

参数

参数名描述
mute

输出参数,表示音频采集设备是否处于静音状态。默认值为 false。

  • true:麦克风处于静音状态。
  • false:麦克风处于非静音状态。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

getRecordingDeviceVolume

获取音频录制设备的音量。

C++
virtual int getRecordingDeviceVolume(int *volume) = 0;

注: 该方法仅适用于 Windows 平台。

参数

参数名描述
volume

输出参数,表示音频录制设备的音量,取值范围为 [0, 255]。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

isApplicationMute

检查应用是否处于静音状态。

C++
virtual int isApplicationMute(bool &mute) = 0;

参数

参数名描述
mute

输出参数,表示应用是否处于静音状态:

  • true:应用处于静音状态。
  • false:应用未处于静音状态。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

release

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

C++
virtual void release() = 0;

所属接口类

release

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

C++
virtual void release() = 0;

所属接口类

setApplicationMute

设置是否静音 App。

C++
virtual int setApplicationMute(bool mute) = 0;

参数

参数名描述
mute

是否静音 App:

  • true:静音 App。
  • false:取消静音 App。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setApplicationVolume

设置应用程序的音量。

C++
virtual int setApplicationVolume(int volume) = 0;

参数

参数名描述
volume

应用程序的音量,取值范围为 [0, 255]。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setDevice

指定视频采集设备的设备 ID。

C++
virtual int setDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;

注:

  • 插拔设备不会改变其设备 ID。
  • 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceId

设备 ID。你可以通过调用 enumerateVideoDevices 获取。

注: 最大长度为 MAX_DEVICE_ID_LENGTH_TYPE。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setLoopbackDevice

设置 SDK 的声卡采集设备。

C++
virtual int setLoopbackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;

SDK 默认使用当前播放设备作为声卡采集设备。如果你希望指定其他音频设备作为声卡采集设备,可以调用该方法,并将 deviceId 设置为目标设备。你可以通过该方法更改当前使用的音频路由,但不会更改默认音频路由。例如,若默认音频路由为麦克风,在加入频道前调用该方法将音频路由设置为声卡并开始设备测试,SDK 会在声卡上进行测试。测试完成并加入频道后,SDK 仍使用麦克风进行音频采集。

注: 该方法仅适用于 Windows 和 macOS 平台。

适用场景

该方法适用的典型场景如下: 使用 App A 通过蓝牙耳机播放音乐,同时使用 App B 进行视频通话并通过扬声器播放:

  • 如果将声卡采集设备设置为蓝牙耳机,SDK 会将 App A 播放的音乐发布到远端。
  • 如果将声卡采集设备设置为扬声器,SDK 不会将 App A 播放的音乐发布到远端。
  • 如果先将声卡采集设备设置为蓝牙耳机,之后改用有线耳机播放 App A 的音乐,则需要再次调用该方法,将声卡采集设备设置为有线耳机,SDK 才会继续将音乐发布到远端。

参数

参数名描述
deviceId

指定 SDK 的声卡采集设备。你可以通过调用 enumeratePlaybackDevices 获取设备 ID。最大长度为 MAX_DEVICE_ID_LENGTH_TYPE。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setPlaybackDevice

设置音频播放设备。

C++
virtual int setPlaybackDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;

你可以调用此方法更改当前使用的音频路由,但不会更改默认音频路由。例如,若默认音频路由为扬声器 1,在加入频道前调用此方法将音频路由设置为扬声器 2 并开始设备测试,SDK 会在扬声器 2 上进行设备测试。设备测试完成并加入频道后,SDK 仍会使用默认音频路由扬声器 1。

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceId

指定音频播放设备的 ID。你可以通过调用 enumeratePlaybackDevices 获取设备 ID。连接或断开音频设备不会改变 deviceId 的值。

注: 最大长度为 MAX_DEVICE_ID_LENGTH_TYPE。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setPlaybackDeviceMute

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

C++
virtual int setPlaybackDeviceMute(bool mute) = 0;

参数

参数名描述
mute

是否静音音频播放设备:

  • true:静音音频播放设备。
  • false:取消静音音频播放设备。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setPlaybackDeviceVolume

设置音频播放设备的音量。

C++
virtual int setPlaybackDeviceVolume(int volume) = 0;

注: 该方法仅适用于 Windows 平台。

参数

参数名描述
volume

音频播放设备的音量,取值范围为 [0,255]。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setRecordingDevice

设置音频采集设备。

C++
virtual int setRecordingDevice(const char deviceId[MAX_DEVICE_ID_LENGTH]) = 0;

你可以调用此方法更改当前使用的音频路由,但不会更改默认音频路由。例如,默认音频路由为麦克风,在加入频道前调用此方法将音频路由设置为蓝牙耳机并开始设备测试,SDK 会在蓝牙耳机上进行设备测试。设备测试完成并加入频道后,SDK 仍使用麦克风进行音频采集。

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceId

音频采集设备的 ID。你可以通过调用 enumerateRecordingDevices 获取设备 ID。连接或断开音频设备不会改变 deviceId 的值。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setRecordingDeviceMute

设置音频采集设备的静音状态。

C++
virtual int setRecordingDeviceMute(bool mute) = 0;

参数

参数名描述
mute

是否将音频采集设备静音:

  • true:静音音频采集设备。
  • false:取消静音音频采集设备。
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

setRecordingDeviceVolume

设置音频采集设备的音量。

C++
virtual int setRecordingDeviceVolume(int volume) = 0;

该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
volume

音频采集设备的音量,取值范围为 [0, 255]。0 表示静音,255 表示最大音量。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

startAudioDeviceLoopbackTest

开始音频设备回路测试。

C++
virtual int startAudioDeviceLoopbackTest(int indicationInterval) = 0;

该方法用于测试本地音频采集设备和播放设备是否正常工作。调用该方法后,音频采集设备会采集本地音频,音频播放设备会播放采集到的音频。SDK 会按照设置的时间间隔触发两个独立的 onAudioVolumeIndication 回调,分别报告采集设备(uid = 0)和播放设备(uid = 1)的音量信息。

注:

  • 该方法仅适用于 Windows 和 macOS 平台。
  • 可以在加入频道前或加入频道后调用该方法。
  • 该方法仅在主播角色调用时生效。
  • 该方法仅测试本地音频设备,不涉及网络状况。
  • 测试完成后,请调用 stopAudioDeviceLoopbackTest 停止音频设备回路测试。

参数

参数名描述
indicationInterval

SDK 触发 onAudioVolumeIndication 回调的时间间隔(毫秒)。建议设置为大于 200 毫秒的值。该值不能小于 10 毫秒,否则无法收到 onAudioVolumeIndication 回调。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

startPlaybackDeviceTest

开始本地音频播放设备测试。

C++
virtual int startPlaybackDeviceTest(const char *testAudioFilePath) = 0;

该方法用于测试本地音频播放设备是否正常工作。调用该方法后,SDK 会播放你指定的音频文件。如果你能听到声音,说明播放设备工作正常。调用该方法后,SDK 每 100 毫秒触发一次 onAudioVolumeIndication 回调,报告 uid = 1 及播放设备的音量信息。该方法与 startEchoTest 的区别在于,startPlaybackDeviceTest 仅检测本地音频播放设备是否正常,而 startEchoTest 可同时检测音视频设备和网络状况。

注: 请在加入频道前调用该方法。测试完成后,请调用 stopPlaybackDeviceTest 停止测试,再加入频道。

参数

参数名描述
testAudioFilePath

音频文件路径,UTF-8 编码的字符串。支持的文件格式包括 wav、mp3、m4a 和 aac。支持的采样率包括 8000、16000、32000、44100 和 48000 Hz。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

startRecordingDeviceTest

开始音频采集设备测试。

C++
virtual int startRecordingDeviceTest(int indicationInterval) = 0;

调用该方法可以测试本地音频采集设备是否正常工作。调用后,SDK 会按照设定的时间间隔触发 onAudioVolumeIndication 回调,报告 uid 为 0 的采集设备音量信息。该方法仅检测本地音频采集设备,而 startEchoTest 方法还可检测音视频设备和网络状况。

注: 请在加入频道前调用该方法。测试完成后,请在加入频道前调用 stopRecordingDeviceTest 停止测试。

参数

参数名描述
indicationInterval

触发 onAudioVolumeIndication 回调的时间间隔(毫秒)。该值必须大于 10,否则无法收到 onAudioVolumeIndication 回调,且 SDK 返回错误码 -2。建议设置为 100。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。

  • < 0:方法调用失败。详见错误码了解详情和解决建议。

    • -2:参数无效,请检查参数设置。

所属接口类

stopAudioDeviceLoopbackTest

停止音频设备回路测试。

C++
virtual int stopAudioDeviceLoopbackTest() = 0;

注: stopAudioDeviceLoopbackTest 方法仅适用于 Windows 和 macOS 平台。你可以在加入频道前或加入频道后调用该方法。该方法仅在主播角色调用时生效。调用 startAudioDeviceLoopbackTest 方法开始回路测试后,请确保调用该方法停止回路测试。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

stopPlaybackDeviceTest

停止音频播放设备测试。

C++
virtual int stopPlaybackDeviceTest() = 0;

调用 startPlaybackDeviceTest 开始测试后,必须调用该方法停止测试。

注: 请在加入频道前调用该方法。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

stopRecordingDeviceTest

停止音频采集设备测试。

C++
virtual int stopRecordingDeviceTest() = 0;

调用 startRecordingDeviceTest 开始音频采集设备测试后,必须调用该方法停止测试。

注: 请在加入频道前调用该方法。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

onAudioDeviceStateChanged

音频设备状态发生变化回调。

C++
virtual void onAudioDeviceStateChanged(const char* deviceId, int deviceType, int deviceState)

该回调用于通知音频设备的状态发生变化,例如设备上的耳机被拔出。

注: 该方法仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceId

设备 ID。

deviceType

设备类型,详见 MEDIA_DEVICE_TYPE。

deviceState

设备状态,详见 MEDIA_DEVICE_STATE_TYPE。

表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类

onAudioDeviceVolumeChanged

音频设备或 App 音量变化时触发的回调。

C++
virtual void onAudioDeviceVolumeChanged(MEDIA_DEVICE_TYPE deviceType, int volume, bool muted)

注: 该回调仅适用于 Windows 和 macOS 平台。

参数

参数名描述
deviceType

设备类型,详见 MEDIA_DEVICE_TYPE。

volume

音量值,范围为 [0, 255]。

muted

音频设备是否静音:

  • true:音频设备已静音。
  • false:音频设备未静音。
表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类