TUIRoomDeviceManager

最近更新时间:2025-10-15 22:10:41

我的收藏
TUIRoomDeviceManager API 是音视频通话组件的设备接口

TUIRoomDeviceManager

函数接口
描述
获取设备列表。
设置当前使用设备。
获取当前使用的设备信息。
开始进行摄像头测试。
停止摄像头测试。
开始进行麦克风测试。
停止麦克风测试。
开始进行扬声器测试。
停止扬声器测试。
是否为前置摄像头(仅支持移动端)。
切换前后置摄像头,该接口只适用于移动端浏览器(仅支持移动端)。
查询是否支持自动识别人脸位置(仅支持移动端)。
开启/关闭闪光灯,也就是手电筒模式(仅支持移动端)。
设置音频路由(仅支持移动端)。
on
off
取消 TUIRoomDeviceManagerEvents 事件监听。

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
设备类型。
Returns {Promise} Array<TUIDeviceInfo>

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
设备类型。
Returns {TUIDeviceInfo}

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

取消监听 TUIRoomDeviceManagerEvents 事件
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
使用听筒播放,听筒位于手机顶部,声音偏小,适合需要保护隐私的通话场景。