ByteRTCAudioDeviceManager class

Inheritance
  • Object
  • NativeClass
  • ByteRTCAudioDeviceManager

Constructors

ByteRTCAudioDeviceManager([NativeClassOptions? options])

Properties

$resource → NativeResource
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
ready Future<void>
Whether the instance is initialized
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

destroy() → void
inherited
enumerateAudioCaptureDevices() FutureOr<ByteRTCDeviceCollection>
@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} 了解设备变更后,重新调用本接口以获得新的设备列表。
enumerateAudioPlaybackDevices() FutureOr<ByteRTCDeviceCollection>
@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} 了解设备变更后,重新调用本接口以获得新的设备列表。
followSystemCaptureDevice(BOOL followed) FutureOr<void>
@detail api @author yezijian.me @brief 设置音频采集路由是否跟随系统。 @param followed
- true: 跟随。此时,调用 setAudioCaptureDevice:{@link #ByteRTCAudioDeviceManager#setAudioCaptureDevice} 会失败。默认值。 - false: 不跟随系统。此时,可以调用 setAudioCaptureDevice:{@link #ByteRTCAudioDeviceManager#setAudioCaptureDevice} 进行设置。
followSystemPlaybackDevice(BOOL followed) FutureOr<void>
@detail api @author yezijian.me @brief 设置音频播放路由是否跟随系统。 @param followed
- true: 跟随。此时,调用 setAudioPlaybackDevice:{@link #ByteRTCAudioDeviceManager#setAudioPlaybackDevice} 会失败。默认值。 - false: 不跟随系统。此时,可以调用 setAudioPlaybackDevice:{@link #ByteRTCAudioDeviceManager#setAudioPlaybackDevice} 进行设置。
getAudioCaptureDevice(NSString deviceID) FutureOr<int>
@detail api @author dixing @brief 获取当前音频采集设备。 @param deviceID 音频采集设备 ID。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
getAudioCaptureDeviceMute(bool mute) FutureOr<int>
@detail api @author dixing @brief 获取当前音频采集设备是否静音的信息。 @param mute
- true:静音 - false:非静音 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
getAudioCaptureDeviceVolume(int volume) FutureOr<int>
@detail api @author dixing @brief 获取当前音频采集设备音量 @param volume 音频采集设备音量,取值范围是 0,255
- 0,25 接近无声; - 25,75 为低音量; - 76,204 为中音量; - 205,255 为高音量。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
getAudioPlaybackDevice(NSString deviceID) FutureOr<int>
@detail api @author dixing @brief 获取当前音频播放设备。 @param deviceID 设备 ID @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
getAudioPlaybackDeviceMute(bool mute) FutureOr<int>
@detail api @author dixing @brief 获取当前音频播放设备是否静音的信息。 @param mute
- true:静音 - false:非静音 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
getAudioPlaybackDeviceVolume(int volume) FutureOr<int>
@detail api @author dixing @brief 获取当前音频播放设备音量 @param volume 音频播放设备音量,取值范围是 0,255
- 0,25 接近无声; - 25,75 为低音量; - 76,204 为中音量; - 205,255 为高音量。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
initAudioCaptureDeviceForTest(NSString deviceID) FutureOr<int>
@detail api @author dixing @brief 尝试初始化音频采集设备,以检测设备不存在、权限被拒绝/禁用等异常问题。 @param deviceID 设备索引号 @return 设备状态错误码
- 0: 设备检测结果正常 - -1: 接口调用失败 - -2: 设备无权限,尝试初始化设备失败 - -3: 设备不存在,当前没有设备或设备被移除时返回 - -4: 设备音频格式不支持 - -5: 其它原因错误 @note - 该接口需在进房前调用; - 检测成功不代表设备一定可以启动成功,还可能因设备被其他应用进程独占,或 CPU/内存不足等原因导致启动失败。
initAudioPlaybackDeviceForTest(NSString deviceID) FutureOr<int>
@detail api @author dixing @brief 尝试初始化音频播放设备,以检测设备不存在、权限被拒绝/禁用等异常问题。 @param deviceID 设备索引号 @return 设备状态错误码
- 0: 设备检测结果正常 - -1: 接口调用失败 - -2: 设备无权限,尝试初始化设备失败 - -3: 设备不存在,当前没有设备或设备被移除时返回 - -4: 设备音频格式不支持 - -5: 其它原因错误 @note - 该接口需在进房前调用; - 检测成功不代表设备一定可以启动成功,还可能因设备被其他应用进程独占,或 CPU/内存不足等原因导致启动失败。
nativeCall<T>(String method, [List? args, NativeMethodMeta? meta]) Future<T>
Call instance method
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
sendInstanceGet<T>(String property) Future<T>
Get instance property
inherited
sendInstancePropertiesGet(dynamic nativeClass) Future<Map<String, dynamic>>
Get instance properties
inherited
sendInstanceSet(String property, dynamic value) Future<void>
Set instance property
inherited
setAudioCaptureDevice(NSString deviceID) FutureOr<int>
@detail api @author dixing @brief 设置音频采集设备。 @param deviceID 音频采集设备 ID。你可调用 enumerateAudioCaptureDevices{@link #ByteRTCAudioDeviceManager#EnumerateAudioCaptureDevices} 获取可用设备列表。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note 当你调用 followSystemCaptureDevice:{@link #ByteRTCAudioDeviceManager#followSystemCaptureDevice} 设置音频采集设备跟随系统后,将无法调用此接口设置音频采集设备。
setAudioCaptureDeviceMute(bool mute) FutureOr<int>
@detail api @author dixing @brief 设置当前音频采集设备静音状态,默认为非静音。 @param mute
- true:静音 - false:非静音 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法用于静音整个系统的音频采集。你也可以仅对麦克风采集到的音频信号做静音处理,而不影响媒体播放器的音乐声音,具体参看 muteAudioCapture:{@link #ByteRTCEngine#muteAudioCapture} 方法说明。 - 设该方法为 true 静音后仍可通过 setAudioCaptureDeviceVolume:{@link #ByteRTCAudioDeviceManager#setAudioCaptureDeviceVolume} 调整采集音量,调整后的音量会在取消静音后生效。
setAudioCaptureDeviceVolume(int volume) FutureOr<int>
@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 静音采集设备后的音量调节会在取消静音后生效。
setAudioPlaybackDevice(NSString deviceID) FutureOr<int>
@detail api @author dixing @brief 设置音频播放设备。 @param deviceID 音频播放设备 ID,可通过 enumerateAudioPlaybackDevices{@link #ByteRTCAudioDeviceManager#enumerateAudioPlaybackDevices} 获取。 @return - 0:方法调用成功 - < 0:方法调用失败 @note 当你调用 followSystemPlaybackDevice:{@link #ByteRTCAudioDeviceManager#followSystemPlaybackDevice} 设置音频播放设备跟随系统后,将无法调用此接口设置音频播放设备。
setAudioPlaybackDeviceMute(bool mute) FutureOr<int>
@detail api @author dixing @brief 设置当前音频播放设备静音状态,默认为非静音。 @param mute
- true:静音 - false:非静音 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
setAudioPlaybackDeviceVolume(int volume) FutureOr<int>
@detail api @author dixing @brief 设置当前音频播放设备音量 @param volume 音频播放设备音量,取值范围为 0,255
- 0,25 接近无声; - 25,75 为低音量; - 76,204 为中音量; - 205,255 为高音量。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败
startAudioDeviceLoopbackTest(int indicationInterval) FutureOr<int>
@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} 停止测试。 - 该方法仅在本地进行音频设备测试,不涉及网络连接。
startAudioDeviceRecordTest(int interval) FutureOr<int>
@hidden(iOS) @detail api @author dixing @brief 开始音频采集设备和音频播放设备测试。 @param interval 测试中会收到 rtcEngine:onLocalAudioPropertiesReport: 回调,本参数指定了该周期回调的时间间隔,单位为毫秒。建议设置到大于 200 毫秒。最小不得少于 10 毫秒。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法在进房前后均可调用。且不可与其它音频设备测试功能同时应用。 - 调用本接口 30 s 后,采集自动停止,并开始播放采集到的声音。录音播放完毕后,设备测试流程自动结束。你也可以在 30 s 内调用 stopAudioDeviceRecordAndPlayTest{@link #ByteRTCAudioDeviceManager#stopAudioDeviceRecordAndPlayTest} 来停止采集并开始播放此前采集到的声音。 - 调用 stopAudioDevicePlayTest{@link #ByteRTCAudioDeviceManager#stopAudioDevicePlayTest} 可以停止音频设备采集和播放测试。 - 你不应在测试过程中,调用 enableAudioPropertiesReport: 注册音量提示回调。 - 该方法仅在本地进行音频设备测试,不涉及网络连接。
startAudioPlaybackDeviceTest(NSString testAudioFilePath, int interval) FutureOr<int>
@detail api @author dixing @brief 启动音频播放设备测试。
该方法测试播放设备是否能正常工作。SDK 播放指定的音频文件,测试者如果能听到声音,说明播放设备能正常工作。 @param testAudioFilePath 音频文件的绝对路径,路径字符串使用 UTF-8 编码格式,支持以下音频格式: mp3,aac,m4a,3gp,wav。 @param interval 音频设备播放测试音量回调的间隔 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法必须在进房前调用,且不可与其它音频设备测试功能同时应用。 - 调用 stopAudioPlaybackDeviceTest{@link #ByteRTCAudioDeviceManager#stopAudioPlaybackDeviceTest} 停止测试。
startAudioRecordingDeviceTest(int indicationInterval) FutureOr<int>
@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} 停止测试。
stopAudioDeviceLoopbackTest() FutureOr<int>
@detail api @author dixing @brief 停止音频设备回路测试。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法不依赖 rtc 引擎 - 调用 startAudioDeviceLoopbackTest:{@link #ByteRTCAudioDeviceManager#startAudioDeviceLoopbackTest} 后,需调用本方法停止测试。
stopAudioDevicePlayTest() FutureOr<int>
@hidden(iOS) @detail api @author dixing @brief 停止由调用 startAudioDeviceRecordTest:{@link #ByteRTCAudioDeviceManager#startAudioDeviceRecordTest} 开始的音频播放设备测试。
在音频播放设备测试自动结束前,可调用本接口停止音频采集与播放测试。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法依赖 rtc 引擎,只有通过成员方法 getAudioDeviceManager{@link #ByteRTCEngine#getAudioDeviceManager} 创建的 ByteRTCAudioDeviceManager,该方法才是有效的
stopAudioDeviceRecordAndPlayTest() FutureOr<int>
@hidden(iOS) @detail api @author dixing @brief 停止采集本地音频,并开始播放采集到的声音。录音播放完毕后,设备测试流程结束。
调用 startAudioDeviceRecordTest:{@link #ByteRTCAudioDeviceManager#startAudioDeviceRecordTest} 30s 内调用本接口来停止采集并开始播放此前采集到的声音。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法依赖 rtc 引擎,只有通过成员方法 getAudioDeviceManager{@link #ByteRTCEngine#getAudioDeviceManager} 创建的 ByteRTCAudioDeviceManager,该方法才是有效的 - 调用本接口开始播放录音后,可以在播放过程中调用 stopAudioDevicePlayTest{@link #ByteRTCAudioDeviceManager#stopAudioDevicePlayTest} 停止播放。
stopAudioPlaybackDeviceTest() FutureOr<int>
@detail api @author dixing @brief 停止音频播放设备测试。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note 调用 startAudioPlaybackDeviceTest:interval:{@link #ByteRTCAudioDeviceManager#startAudioPlaybackDeviceTest:interval} 后,需调用本方法停止测试。
stopAudioRecordingDeviceTest() FutureOr<int>
@detail api @author dixing @brief 停止音频采集设备测试。 @return 方法调用结果
- 0:方法调用成功 - < 0:方法调用失败 @note - 该方法不依赖 rtc 引擎 - 调用 startAudioRecordingDeviceTest:{@link #ByteRTCAudioDeviceManager#startAudioRecordingDeviceTest} 后,需调用本方法停止测试。
toString() String
A string representation of this object.
inherited
updateResource(NativeResource resource) → void
inherited

Operators

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

Static Properties

codegen_$namespace → dynamic
no setter