TUIRoomDeviceManager

Copyright (c) 2024 Tencent. All rights reserved.
Module: TUIRoomDeviceManager @ TUIKitEngine
Function: 设备测试、管理相关接口



TUIRoomDeviceManager

TUIRoomDeviceManagerObserver

函数列表
描述
本地设备添加事件
测试摄像头画面渲染成功回调
测试麦克风时的音量回调
测试扬声器时的音量回调

TUIRoomDeviceManager

函数列表
描述
判断当前是否为前置摄像头(仅支持移动端)
切换前置或后置摄像头(仅支持移动端)
查询是否支持自动识别人脸位置(仅支持移动端)
开启自动对焦功能(仅支持移动端)
开启/关闭闪光灯,也就是手电筒模式(仅支持移动端)
设置音频路由(仅支持移动端)
设置事件回调
开始摄像头测试(仅支持桌面端)
结束摄像头测试(仅支持桌面端)
开始麦克风测试(仅支持桌面端)
结束麦克风测试(仅支持桌面端)
开始扬声器测试(仅支持桌面端)
结束扬声器测试(仅支持桌面端)
获取设备列表(仅支持桌面端)
设置当前要使用的设备(仅支持桌面端)
获取当前正在使用的设备(仅支持桌面端)

结构体类型

函数列表
描述
设备信息

枚举类型

枚举类型
描述
设备类型
设备操作
音频路由(即声音的播放模式)

onDeviceChanged:type:state:

onDeviceChanged:type:state:
- (void)onDeviceChanged:
(NSString *)deviceId
type:
(TUIMediaDeviceType)type
state:
(TUIMediaDeviceState)state

本地设备添加事件

参数
描述
deviceId
设备 ID。
state
通断状态,0:设备已添加;1:设备已被移除;2:设备已启用。
type
设备类型。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。当本地设备(包括摄像头、麦克风以及扬声器)添加时,SDK 便会抛出此事件回调。

onTestCameraVideoFrameRendered:height:

onTestCameraVideoFrameRendered:height:
- (void)onTestCameraVideoFrameRendered:
(NSInteger)width
height:
(NSInteger)height

测试摄像头画面渲染成功回调

参数
描述
height
画面的高度。
width
画面的宽度。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。当本地测试摄像头画面渲染成功时,SDK 便会抛出此事件回调。

onTestMicVolume:

onTestMicVolume:
- (void)onTestMicVolume:
(NSInteger)volume

测试麦克风时的音量回调

参数
描述
volume
麦克风采集到的音量值,取值范围0 - 100。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。当本地测试麦克风时,SDK 便会抛出此事件回调。

onTestSpeakerVolume:

onTestSpeakerVolume:
- (void)onTestSpeakerVolume:
(NSInteger)volume

测试扬声器时的音量回调

参数
描述
volume
SDK 提交给扬声器去播放的声音的音量,取值范围0 - 100。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。当本地测试扬声器时,SDK 便会抛出此事件回调。

isFrontCamera

isFrontCamera

判断当前是否为前置摄像头(仅支持移动端)

注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。

switchCamera:

switchCamera:
- (void)switchCamera:
(BOOL)frontCamera

切换前置或后置摄像头(仅支持移动端)

注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。

isAutoFocusEnabled

isAutoFocusEnabled

查询是否支持自动识别人脸位置(仅支持移动端)

注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。

enableCameraAutoFocus:

enableCameraAutoFocus:
- (void)enableCameraAutoFocus:
(BOOL)enabled

开启自动对焦功能(仅支持移动端)

注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
开启后,SDK 会自动检测画面中的人脸位置,并将摄像头的焦点始终对焦在人脸位置上。

enableCameraTorch:

enableCameraTorch:
- (void)enableCameraTorch:
(BOOL)enabled

开启/关闭闪光灯,也就是手电筒模式(仅支持移动端)

注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。

setAudioRoute:

setAudioRoute:
- (void)setAudioRoute:
(TUIAudioRoute)route

设置音频路由(仅支持移动端)

注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
手机有两个音频播放设备:一个是位于手机顶部的听筒,一个是位于手机底部的立体声扬声器。
设置音频路由为听筒时,声音比较小,只有将耳朵凑近才能听清楚,隐私性较好,适合用于接听电话。
设置音频路由为扬声器时,声音比较大,不用将手机贴脸也能听清,因此可以实现“免提”的功能。

setObserver:

setObserver:
- (void)setObserver:
(id<TUIRoomDeviceManagerObserver>)observer

设置事件回调

参数
描述
observer
监听的实例。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
您可以通过 TUIRoomDeviceManagerObserver 获得各类事件通知。

startCameraDeviceTest:

startCameraDeviceTest:
- (void)startCameraDeviceTest:
(TUIVideoView *__nullable)view

开始摄像头测试(仅支持桌面端)

注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。在测试过程中可以使用 $setCurrentDevice$ 接口切换摄像头。

stopCameraDeviceTest

stopCameraDeviceTest

结束摄像头测试(仅支持桌面端)

注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。

startMicDeviceTest:playback:

startMicDeviceTest:playback:
- (void)startMicDeviceTest:
(NSInteger)interval
playback:
(BOOL)playback

开始麦克风测试(仅支持桌面端)

参数
描述
interval
麦克风音量的回调间隔。
playback
是否开启回播麦克风声音,开启后用户测试麦克风时会听到自己的声音。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
该接口可以测试麦克风是否能正常工作,测试到的麦克风采集音量的大小,会以回调的形式通知给您,其中 volume 的取值范围为0 - 100。

stopMicDeviceTest

stopMicDeviceTest

结束麦克风测试(仅支持桌面端)

注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。

startSpeakerDeviceTest:

startSpeakerDeviceTest:
- (void)startSpeakerDeviceTest:
(NSString *) filePath

开始扬声器测试(仅支持桌面端)

参数
描述
filePath
声音文件的路径。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。
该接口通过播放指定的音频文件,用于测试播放设备是否能正常工作。如果用户在测试时能听到声音,说明播放设备能正常工作。

stopSpeakerDeviceTest

stopSpeakerDeviceTest

结束扬声器测试(仅支持桌面端)

注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。

getDevicesList:callback:

getDevicesList:callback:
- (void)getDevicesList:
(TUIMediaDeviceType)type
callback:
(TUIDeviceListBlock)callback

获取设备列表(仅支持桌面端)

参数
描述
type
设备类型,指定需要获取哪种设备的列表。详见 $TUIMediaDeviceType$ 定义。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。

setCurrentDevice:deviceId:

setCurrentDevice:deviceId:
- (void)setCurrentDevice:
(TUIMediaDeviceType) type
deviceId:
(NSString *) deviceId

设置当前要使用的设备(仅支持桌面端)

参数
描述
deviceId
设备ID,您可以通过接口 getDevicesList 获得设备 ID。
type
设备类型,详见 $TUIMediaDeviceType$ 定义。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。

getCurrentDevice:callback:

getCurrentDevice:callback:
- (void)getCurrentDevice:
(TUIMediaDeviceType) type
callback:
(TUIDeviceInfoBlock) callback

获取当前正在使用的设备(仅支持桌面端)

参数
描述
type
设备类型,详见 $TUIMediaDeviceType$ 定义。
注意
此函数支持会议房间类型和直播房间类型(TUIRoomTypeConference & TUIRoomTypeLive)。

TUIMediaDeviceType

TUIMediaDeviceType

设备类型

枚举
取值
描述
TUIMediaDeviceTypeUnknown
-1
未定义的设备类型
TUIMediaDeviceTypeAudioInput
0
麦克风类型设备
TUIMediaDeviceTypeAudioOutput
1
扬声器类型设备
TUIMediaDeviceTypeVideoCamera
2
摄像头类型设备

TUIMediaDeviceState

TUIMediaDeviceState

设备操作

枚举
取值
描述
TUIMediaDeviceStateAdd
0
设备已被插入
TUIMediaDeviceStateRemove
1
设备已被移除
TUIMediaDeviceStateActive
2
设备已启用

TUIAudioRoute

TUIAudioRoute

音频路由(即声音的播放模式)

枚举
取值
描述
TUIAudioRouteSpeakerphone
0
Speakerphone:使用扬声器播放(即“免提”),扬声器位于手机底部,声音偏大,适合外放音乐。
TUIAudioRouteEarpiece
1
Earpiece:使用听筒播放,听筒位于手机顶部,声音偏小,适合需要保护隐私的通话场景。

TUIDeviceInfo

TUIDeviceInfo

设备信息

枚举类型
描述
deviceId
设备 ID
deviceName
设备名称
deviceProperties
设备属性