TUIRoomDeviceManager API 是音视频通话组件的设备接口。
TUIRoomDeviceManager
函数接口 | 描述 |
获取设备列表。 | |
设置当前使用设备。 | |
获取当前使用的设备信息。 | |
开始进行摄像头测试。 | |
停止摄像头测试。 | |
开始进行麦克风测试。 | |
停止麦克风测试。 | |
开始进行扬声器测试。 | |
停止扬声器测试。 | |
是否为前置摄像头(仅支持移动端)。 | |
切换前后置摄像头,该接口只适用于移动端浏览器(仅支持移动端)。 | |
查询是否支持自动识别人脸位置(仅支持移动端)。 | |
开启/关闭闪光灯,也就是手电筒模式(仅支持移动端)。 | |
设置音频路由(仅支持移动端)。 | |
TUIRoomDeviceManagerEvents
事件接口 | 描述 |
设备变更事件回调。 | |
麦克风测试音量回调。 |
类型定义
类型 | 说明 |
设备信息。 |
枚举定义
类型 | 说明 |
媒体设备类型。 | |
声音播放模式。 |
函数接口详情
getDevicesList
获取设备列表
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();const cameraList = await deviceManager.getDeviceList({ type: TUIMediaDeviceType.kMediaDeviceVideoCamera })const micList = await deviceManager.getDeviceList({ type: TUIMediaDeviceType.kMediaDeviceTypeAudioInput });const speakerList = await deviceManager.getDeviceList({ type: TUIMediaDeviceType.kMediaDeviceTypeAudioOutput });
参数列表
参数 | 类型 | 含义 |
type | 设备类型。 |
setCurrentDevice
设置当前使用设备
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();deviceManager.setCurrentDevice({type: TUIMediaDeviceType.kMediaDeviceTypeAudioInput,deviceId: '',});deviceManager.setCurrentDevice({type: TUIMediaDeviceType.kMediaDeviceTypeAudioOutput,deviceId: '',});deviceManager.setCurrentDevice({type: TUIMediaDeviceType.kMediaDeviceVideoCamera,deviceId: '',});
参数列表
参数 | 类型 | 含义 |
type | 设备类型。 | |
deviceId | string | 设备 ID。 |
Returns {void}
getCurrentDevice
获取当前使用的设备信息
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();const camera = deviceManager.getCurrentDevice({type: TUIMediaDeviceType.kMediaDeviceVideoCamera});const mic = deviceManager.getCurrentDevice({type: TUIMediaDeviceType.kMediaDeviceTypeAudioInput});const speaker = deviceManager.getCurrentDevice({type: TUIMediaDeviceType.kMediaDeviceTypeAudioOutput});
参数列表
参数 | 类型 | 含义 |
type | 设备类型。 |
startCameraDeviceTest
开始进行摄像头测试
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();await deviceManager.startCameraDeviceTest({ view: 'test-preview' });
参数列表
参数 | 类型 | 含义 |
view | string | 显示摄像头测试的视频区域,传入的 view 为承载预览画面 div 元素的 ID。 |
Returns {Promise<void>}
stopCameraDeviceTest
停止摄像头测试
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();await deviceManager.stopCameraDeviceTest();
Returns {Promise<void>}
startMicDeviceTest
开始进行麦克风测试
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();await deviceManager.startMicDeviceTest({ interval: 200 });
参数列表
参数 | 类型 | 含义 |
interval | number | 麦克风音量的回调时间(单位:ms)。 |
Returns {Promise<void>}
stopMicDeviceTest
停止麦克风测试
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();await deviceManager.stopMicDeviceTest();
Returns {Promise<void>}
startSpeakerDeviceTest
开始进行扬声器测试
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();await deviceManager.startSpeakerDeviceTest({ filePath: '' });
参数列表
参数 | 类型 | 含义 |
filePath | string | 扬声器测试音频文件的路径。 |
Returns {Promise<void>}
stopSpeakerDeviceTest
停止扬声器测试
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();await deviceManager.stopSpeakerDeviceTest();
Returns {Promise<void>}
isFrontCamera
是否为前置摄像头(仅支持移动端)
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();const isFrontCamera = deviceManager.isFrontCamera();
Returns {boolean}
switchCamera
切换前后置摄像头,该接口只适用于移动端浏览器(仅支持移动端)
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();await deviceManager.switchCamera({ isFrontCamera: true });
参数列表
参数 | 类型 | 含义 |
isFrontCamera | boolean | 是否是前置摄像头。 |
Returns {Void}
isAutoFocusEnabled
查询是否支持自动识别人脸位置(仅支持移动端)
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();const isAutoFocusEnabled = deviceManager.isAutoFocusEnabled();
Returns {boolean}
enableCameraTorch
开启/关闭闪光灯,也就是手电筒模式(仅支持移动端)
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();await deviceManager.enableCameraTorch({ enabled: true });
参数列表
参数 | 类型 | 含义 |
enabled | boolean | 是否开启。 |
Returns {Void}
setAudioRoute
设置音频路由(仅支持移动端)
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();await deviceManager.setAudioRoute({ route: TUIAudioRoute.kAudioRouteSpeakerphone});
参数列表
参数 | 类型 | 含义 |
route | 音频路由模式。 |
Returns {Void}
on
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();const callback = ({ deviceId, type, state }) => {console.log('deviceManager.onDeviceChange', deviceId, type, state);};deviceManager.on(TUIRoomDeviceMangerEvents.onDeviceChange, callback);
参数列表
参数 | 类型 | 含义 |
event | 设备管理器的事件。 | |
function | (...args: any[]) => void; | 监听事件函数。 |
Returns {Void}
off
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();const callback = ({ deviceId, type, state }) => {console.log('deviceManager.onDeviceChange', deviceId, type, state);};deviceManager.off(TUIRoomDeviceMangerEvents.onDeviceChange, callback);
参数列表
参数 | 类型 | 含义 |
event | 设备管理器的事件。 | |
function | (...args: any[]) => void; | 监听事件函数。 |
Returns {void}
事件接口详情
onDeviceChanged
设备变更事件
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();deviceManager.on(TUIRoomDeviceMangerEvents.onDeviceChange, ({ deviceId, type, state }) => {console.log('deviceManager.onDeviceChange', deviceId, type, state);});
参数如下表所示:
参数 | 类型 | 含义 |
deviceId | string | 设备 ID。 |
type | TRTCDeviceType | 设备类型。 |
state | TRTCDeviceState | 设备变更状态。 |
onTestMicVolume
麦克风测试音量事件
const roomEngine = new TUIRoomEngine();const deviceManager = roomEngine.getDeviceManager();deviceManager.on(TUIRoomDeviceMangerEvents.onTestMicVolume, ({ volume }) => {console.log('deviceManager.onTestMicVolume', volume);});
参数如下表所示:
参数 | 类型 | 含义 |
volume | number | 麦克风测试音量(0-100)。 |
定义详情
TUIDeviceInfo
设备信息
名称 | 类型 | 描述 |
deviceId | string | 设备 ID。 |
deviceName | string | 设备名称。 |
deviceProperties | object | 设备属性。 |
枚举定义详情
TUIMediaDeviceType
名称 | 类型 | 描述 |
kMediaDeviceTypeUnknown | number | 未知类型。 |
kMediaDeviceTypeAudioInput | number | 音频输入设备。 |
kMediaDeviceTypeAudioOutput | number | 音频输出设备。 |
kMediaDeviceTypeVideoCamera | number | 摄像头设备。 |
TUIAudioRoute
声音的播放模式
名称 | 类型 | 描述 |
kAudioRouteSpeakerphone | number | 使用扬声器播放(即“免提”),扬声器位于手机底部,声音偏大,适合外放音乐。 |
kAudioRouteEarpiece | number | 使用听筒播放,听筒位于手机顶部,声音偏小,适合需要保护隐私的通话场景。 |