TUIRoomDeviceManager

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