AudioDeviceManager class

@detail api @brief IRTCAudioDeviceManager 接口

Inheritance
  • Object
  • PackClass
  • AudioDeviceManager

Constructors

AudioDeviceManager()

Properties

$instance → dynamic
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

$createInstance(List args) → dynamic
Factory method for creating instances
override
$destroy() → void
inherited
$init(List args) → void
inherited
findOverrideIndices(List args, List<List<int>> indicesList) List<int>
查找重载参数下标列表 @desc android 构造函数存在重载 此方法通过实际传入参数与构造函数参数列表集合的比对,来获取当前实际的需要使用的参数列表
inherited
fn2AndroidClass(Function callback, dynamic nativeClass(), String methodName) → dynamic
与 ts runtime 中的 fn2AndroidClass 功能一致 将 Dart 函数转换为 Android 回调类实例供 Android 侧使用
inherited
ios_enumerateAudioCaptureDevices() Future<ByteRTCDeviceCollection?>
@platform ios @detail api @author dixing @brief 获取音频采集设备列表。 @return 音频采集设备列表。详见 ByteRTCDeviceCollection{@link #ByteRTCDeviceCollection}。
等待超时后会返回空列表。超时时间默认为 10 s。建议通过 rtcEngine:onAudioDeviceStateChanged:device_type:device_state:device_error:{@link #ByteRTCEngineDelegate#rtcEngine:onAudioDeviceStateChanged:device_type:device_state:device_error} 监听到 ByteRTCMediaDeviceListUpdated 后,再次调用本接口获取。 @note 你可以在收到 rtcEngine:onAudioDeviceStateChanged:device_type:device_state:device_error:{@link #ByteRTCEngineDelegate#rtcEngine:onAudioDeviceStateChanged:device_type:device_state:device_error} 了解设备变更后,重新调用本接口以获得新的设备列表。
ios_enumerateAudioPlaybackDevices() Future<ByteRTCDeviceCollection?>
@platform ios @detail api @author dixing @brief 获取当前系统内音频播放设备列表。 @return 所有音频播放设备的列表,参看 ByteRTCDeviceCollection{@link #ByteRTCDeviceCollection}。
等待超时后会返回空列表。超时时间默认为 10 s。建议通过 rtcEngine:onAudioDeviceStateChanged:device_type:device_state:device_error:{@link #ByteRTCEngineDelegate#rtcEngine:onAudioDeviceStateChanged:device_type:device_state:device_error} 监听到 ByteRTCMediaDeviceListUpdated 后,再次调用本接口获取。 @note 你可以在收到 rtcEngine:onAudioDeviceStateChanged:device_type:device_state:device_error:{@link #ByteRTCEngineDelegate#rtcEngine:onAudioDeviceStateChanged:device_type:device_state:device_error} 了解设备变更后,重新调用本接口以获得新的设备列表。
ios_followSystemCaptureDevice(BOOL followed) Future
@platform ios @detail api @author yezijian.me @brief 设置音频采集路由是否跟随系统。 @param followed
- true: 跟随。此时,调用 setAudioCaptureDevice:{@link #ByteRTCAudioDeviceManager#setAudioCaptureDevice} 会失败。默认值。 - false: 不跟随系统。此时,可以调用 setAudioCaptureDevice:{@link #ByteRTCAudioDeviceManager#setAudioCaptureDevice} 进行设置。
ios_followSystemPlaybackDevice(BOOL followed) Future
@platform ios @detail api @author yezijian.me @brief 设置音频播放路由是否跟随系统。 @param followed
- true: 跟随。此时,调用 setAudioPlaybackDevice:{@link #ByteRTCAudioDeviceManager#setAudioPlaybackDevice} 会失败。默认值。 - false: 不跟随系统。此时,可以调用 setAudioPlaybackDevice:{@link #ByteRTCAudioDeviceManager#setAudioPlaybackDevice} 进行设置。
ios_getAudioCaptureDevice(string deviceID) Future<int?>
@platform ios @detail api @author dixing @brief 获取当前音频采集设备。 @param deviceID 音频采集设备 ID。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
ios_getAudioCaptureDeviceMute(bool mute) Future<int?>
@platform ios @detail api @author dixing @brief 获取当前音频采集设备是否静音的信息。 @param mute
- true:静音 - false:非静音 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
ios_getAudioCaptureDeviceVolume(int volume) Future<int?>
@platform ios @detail api @author dixing @brief 获取当前音频采集设备音量 @param volume 音频采集设备音量,取值范围是 0,255
- 0,25 接近无声; - 25,75 为低音量; - 76,204 为中音量; - 205,255 为高音量。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
ios_getAudioPlaybackDevice(string deviceID) Future<int?>
@platform ios @detail api @author dixing @brief 获取当前音频播放设备。 @param deviceID 设备 ID @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
ios_getAudioPlaybackDeviceMute(bool mute) Future<int?>
@platform ios @detail api @author dixing @brief 获取当前音频播放设备是否静音的信息。 @param mute
- true:静音 - false:非静音 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
ios_getAudioPlaybackDeviceVolume(int volume) Future<int?>
@platform ios @detail api @author dixing @brief 获取当前音频播放设备音量 @param volume 音频播放设备音量,取值范围是 0,255
- 0,25 接近无声; - 25,75 为低音量; - 76,204 为中音量; - 205,255 为高音量。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
ios_initAudioCaptureDeviceForTest(string deviceID) Future<int?>
@platform ios @detail api @author dixing @brief 尝试初始化音频采集设备,以检测设备不存在、权限被拒绝/禁用等异常问题。 @param deviceID 设备索引号 @return 设备状态错误码
- 0: 设备检测结果正常 - -1: 接口调用失败 - -2: 设备无权限,尝试初始化设备失败 - -3: 设备不存在,当前没有设备或设备被移除时返回 - -4: 设备音频格式不支持 - -5: 其它原因错误 @note - 该接口需在进房前调用; - 检测成功不代表设备一定可以启动成功,还可能因设备被其他应用进程独占,或 CPU/内存不足等原因导致启动失败。
ios_initAudioPlaybackDeviceForTest(string deviceID) Future<int?>
@platform ios @detail api @author dixing @brief 尝试初始化音频播放设备,以检测设备不存在、权限被拒绝/禁用等异常问题。 @param deviceID 设备索引号 @return 设备状态错误码
- 0: 设备检测结果正常 - -1: 接口调用失败 - -2: 设备无权限,尝试初始化设备失败 - -3: 设备不存在,当前没有设备或设备被移除时返回 - -4: 设备音频格式不支持 - -5: 其它原因错误 @note - 该接口需在进房前调用; - 检测成功不代表设备一定可以启动成功,还可能因设备被其他应用进程独占,或 CPU/内存不足等原因导致启动失败。
ios_setAudioCaptureDevice(string deviceID) Future<int?>
@platform ios @detail api @author dixing @brief 设置音频采集设备。 @param deviceID 音频采集设备 ID。你可调用 enumerateAudioCaptureDevices{@link #ByteRTCAudioDeviceManager#EnumerateAudioCaptureDevices} 获取可用设备列表。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note 当你调用 followSystemCaptureDevice:{@link #ByteRTCAudioDeviceManager#followSystemCaptureDevice} 设置音频采集设备跟随系统后,将无法调用此接口设置音频采集设备。
ios_setAudioCaptureDeviceMute(bool mute) Future<int?>
@platform ios @detail api @author dixing @brief 设置当前音频采集设备静音状态,默认为非静音。 @param mute
- true:静音 - false:非静音 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法用于静音整个系统的音频采集。你也可以仅对麦克风采集到的音频信号做静音处理,而不影响媒体播放器的音乐声音,具体参看 muteAudioCapture:{@link #ByteRTCEngine#muteAudioCapture} 方法说明。 - 设该方法为 true 静音后仍可通过 setAudioCaptureDeviceVolume:{@link #ByteRTCAudioDeviceManager#setAudioCaptureDeviceVolume} 调整采集音量,调整后的音量会在取消静音后生效。
ios_setAudioCaptureDeviceVolume(int volume) Future<int?>
@platform ios @detail api @author dixing @brief 设置当前音频采集设备音量 @param volume 音频采集设备音量,取值范围为 0,255
- 0,25 接近无声; - 25,75 为低音量; - 76,204 为中音量; - 205,255 为高音量。 @return 方法调用结果
- 0:方法调用成功。将影响 rtcEngine:onLocalAudioPropertiesReport:{@link #ByteRTCEngineDelegate#rtcEngine:onLocalAudioPropertiesReport} 回调的音量信息。 - < 0:方法调用失败 @note 调用 setAudioCaptureDeviceMute:{@link #ByteRTCAudioDeviceManager#setAudioCaptureDeviceMute} 设为 true 静音采集设备后的音量调节会在取消静音后生效。
ios_setAudioPlaybackDevice(string deviceID) Future<int?>
@platform ios @detail api @author dixing @brief 设置音频播放设备。 @param deviceID 音频播放设备 ID,可通过 enumerateAudioPlaybackDevices{@link #ByteRTCAudioDeviceManager#enumerateAudioPlaybackDevices} 获取。 @return - 0:方法调用成功 - < 0:方法调用失败 @note 当你调用 followSystemPlaybackDevice:{@link #ByteRTCAudioDeviceManager#followSystemPlaybackDevice} 设置音频播放设备跟随系统后,将无法调用此接口设置音频播放设备。
ios_setAudioPlaybackDeviceMute(bool mute) Future<int?>
@platform ios @detail api @author dixing @brief 设置当前音频播放设备静音状态,默认为非静音。 @param mute
- true:静音 - false:非静音 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
ios_setAudioPlaybackDeviceVolume(int volume) Future<int?>
@platform ios @detail api @author dixing @brief 设置当前音频播放设备音量 @param volume 音频播放设备音量,取值范围为 0,255
- 0,25 接近无声; - 25,75 为低音量; - 76,204 为中音量; - 205,255 为高音量。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
ios_startAudioDeviceLoopbackTest(int indicationInterval) Future<int?>
@platform ios @detail api @author dixing @brief 开始音频设备回路测试。
该方法测试音频采集设备和音频播放设备是否能正常工作。一旦测试开始,音频采集设备会采集本地声音并通过音频播放设备播放出来,同时会收到 rtcEngine:onLocalAudioPropertiesReport:{@link #ByteRTCEngineDelegate#rtcEngine:onLocalAudioPropertiesReport}。 @param indicationInterval 收到回调的时间间隔,单位为 ms。建议设置到大于 200 ms。最小不得少于 10 ms。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法不依赖 rtc 引擎 - 该方法必须在进房前调用。且不可与其它音频设备测试功能同时应用。 - 你需调用 stopAudioDeviceLoopbackTest{@link #ByteRTCAudioDeviceManager#stopAudioDeviceLoopbackTest} 停止测试。 - 该方法仅在本地进行音频设备测试,不涉及网络连接。
ios_startAudioRecordingDeviceTest(int indicationInterval) Future<int?>
@platform ios @detail api @author dixing @brief 启动音频采集设备测试。
该方法测试音频采集设备是否能正常工作。启动测试后,会收到 rtcEngine:onLocalAudioPropertiesReport:{@link #ByteRTCEngineDelegate#rtcEngine:onLocalAudioPropertiesReport} 回调上报的音量信息。 @param indicationInterval 获取回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒。小于 10 毫秒行为未定义。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法不依赖 rtc 引擎 - 该方法必须在进房前调用,且不可与其它音频设备测试功能同时应用。 - 你需调用 stopAudioRecordingDeviceTest{@link #ByteRTCAudioDeviceManager#stopAudioRecordingDeviceTest} 停止测试。
ios_stopAudioDeviceLoopbackTest() Future<int?>
@platform ios @detail api @author dixing @brief 停止音频设备回路测试。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法不依赖 rtc 引擎 - 调用 startAudioDeviceLoopbackTest:{@link #ByteRTCAudioDeviceManager#startAudioDeviceLoopbackTest} 后,需调用本方法停止测试。
ios_stopAudioRecordingDeviceTest() Future<int?>
@platform ios @detail api @author dixing @brief 停止音频采集设备测试。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法不依赖 rtc 引擎 - 调用 startAudioRecordingDeviceTest:{@link #ByteRTCAudioDeviceManager#startAudioRecordingDeviceTest} 后,需调用本方法停止测试。
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
startAudioDeviceRecordTest(int interval) Future<int?>
@detail api @brief 开始音频采集设备和音频播放设备测试。 @param interval 测试中会收到 enableAudioPropertiesReport 回调,本参数指定了该周期回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法在进房前后均可调用。且不可与其它音频设备测试功能同时应用。 - 调用本接口 30 s 后,采集自动停止,并开始播放采集到的声音。录音播放完毕后,设备测试流程自动结束。你也可以在 30 s 内调用 stopAudioDeviceRecordAndPlayTest{@link #IRTCAudioDeviceManager#stopAudioDeviceRecordAndPlayTest} 来停止采集并开始播放此前采集到的声音。 - 调用 stopAudioDevicePlayTest{@link #IRTCAudioDeviceManager#stopAudioDevicePlayTest} 可以停止音频设备采集和播放测试。 - 你不应在测试过程中,调用 enableAudioPropertiesReport 注册音量提示回调。 - 该方法仅在本地进行音频设备测试,不涉及网络连接。
startAudioPlaybackDeviceTest(string testAudioFilePath, int interval) Future<int?>
@detail api @brief 启动音频播放设备检测。测试启动后,循环播放指定的音频文件,同时将通过 onAudioPlaybackDeviceTestVolume 回调播放时的音量信息。 @param testAudioFilePath 指定播放设备检测的音频文件网络地址。支持的格式包括 mp3,aac,m4a,3gp 和 wav。 @param interval 设置 onAudioPlaybackDeviceTestVolume 音量回调的时间间隔,推荐设置为 200 毫秒或以上。单位为毫秒。最小值为 10 毫秒。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法可在进房前和进房后调用,不可与其它音频设备测试功能同时应用。 - 调用 stopAudioPlaybackDeviceTest{@link #IRTCAudioDeviceManager#stopAudioPlaybackDeviceTest} 可以停止测试。
stopAudioDevicePlayTest() Future<int?>
@detail api @brief 停止由调用 startAudioDeviceRecordTest{@link #IRTCAudioDeviceManager#startAudioDeviceRecordTest} 开始的音频播放设备测试。
在音频播放设备测试自动结束前,可调用本接口停止音频采集与播放测试。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
stopAudioDeviceRecordAndPlayTest() Future<int?>
@detail api @brief 停止采集本地音频,并开始播放采集到的声音。录音播放完毕后,设备测试流程结束。
调用 startAudioDeviceRecordTest{@link #IRTCAudioDeviceManager#startAudioDeviceRecordTest} 30 s 内调用本接口来停止采集并开始播放此前采集到的声音。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note 调用本接口开始播放录音后,可以在播放过程中调用 stopAudioDevicePlayTest{@link #IRTCAudioDeviceManager#stopAudioDevicePlayTest} 停止播放。
stopAudioPlaybackDeviceTest() Future<int?>
@detail api @author dixing @brief 停止音频播放测试。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note 调用 startAudioPlaybackDeviceTest{@link #IRTCAudioDeviceManager#startAudioPlaybackDeviceTest} 后,调用本方法停止测试。
toString() String
A string representation of this object.
inherited
transformToPlatformConstructorArgs(List args, List<int> indices, Map<String, dynamic> typeMap, Map<String, dynamic> enumMap, Map<String, dynamic> classMap, String platformVar) List
实例化参数处理 将 pack 过后的 enum / class 转成 android / ios 平台侧的 enum / class
inherited
updateInstance(dynamic instance) → void
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited