本地设备管理类
本地设备管理类(DeviceMgr)
DeviceMgr
-
返回设备管理类对象
-
方法示例
1 |
|
getDevices
- 该方法枚举系统中的摄像头、麦克风及扬声器设备
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
callback | 是 | Function | 该方法如果调用成功,回调参数对象中会包含系统设备信息的对象devices 、系统当前正在使用的设备信息对象useDevices 。如果调用失败,devices 及useDevices 对象中设备信息为空 |
- devices对象中包含摄像头(videoinput)、麦克风(audioinput)和扬声器(audiooutput)信息对象,其中每个设备对象都包含3个属性:
参数名 | 类型 | 说明 |
---|---|---|
deviceId | String | 该设备所独有的设备ID |
label | String | 用于区分设备的标识。如果用户没有打开摄像头和麦克风的权限,label会以特定名称加索引方式命名 |
kind | String | 设备类型,根据选用的音视频设备,有videoinput 、audioinput 和audiooutput 三种类型 |
-
userDevices对象中包含系统正在使用的摄像头
videoinput
、麦克风audioinput
和扬声器audiooutput
的设备ID。 -
方法示例
1 2 3 4 5 6 7 8 9 |
|
setDevices
- 该方法设置系统使用的摄像头、麦克风及扬声器设备
setDevices
设置的videoinput
在多视频模式下为设置主摄像头,设置主摄像头就是将音频关联到主摄像头上,摄像头在多视频模式下不存在切换问题,因此该接口切换的videoinput
是切换主摄像头(即:切换音频关联的摄像头)
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
deviceIdMap | 是 | Object | 包含设备ID的对象。设备ID通过getDevices 方法获取 |
onFailure | 否 | Function | 失败回调 |
onSuccess | 否 | Function | 成功回调 |
- 方法示例
1 2 3 4 5 6 7 8 9 10 11 12 |
|
getCameras
- 该方法枚举系统中的摄像头设备
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
callback | 是 | Function | 该方法如果调用成功,回调参数为包含系统摄像头对象信息的数组,如果调用失败或无可用设备,返回空数组 |
- 方法示例
1 2 3 |
|
setCamera
- 该方法设置系统使用的摄像头设备
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
deviceId | 是 | String | 摄像头设备id |
onFailure | 否 | Function | 失败回调 |
isForce | 否 | Boolean | 是否强制设置,默认false |
onSuccess | 否 | Function | 成功回调 |
- 方法示例
1 2 3 4 5 |
|
getMicrophones
- 该方法枚举系统中的麦克风设备
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
callback | 是 | Function | 该方法如果调用成功,回调参数为包含系统麦克风对象信息的数组,如果调用失败或无可用设备,返回空数组 |
- 方法示例
1 2 3 |
|
setMicrophone
- 该方法设置系统使用的麦克风设备
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
deviceId | 是 | String | 麦克风设备id |
onFailure | 否 | Function | 失败回调 |
onSuccess | 否 | Function | 成功回调 |
- 方法示例
1 2 3 4 5 |
|
getSpeakers
- 该方法枚举系统中的扬声器设备
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
callback | 是 | Function | 该方法如果调用成功,回调参数为包含系统扬声器对象信息的数组,如果调用失败或无可用设备,返回空数组 |
- 方法示例
1 2 3 |
|
setSpeaker
- 该方法设置系统使用的扬声器设备
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
deviceId | 是 | String | 扬声器设备id |
onFailure | 否 | Function | 失败回调 |
onSuccess | 否 | Function | 成功回调 |
- 方法示例
1 2 3 4 5 |
|
startVideoTest
- 该方法开始检测摄像头是否可用
- 若当前有摄像头正在检测,调用
startVideoTest
会自动停止正在进行的检测操作,但若要停止最后一次摄像头检测,必须调用stopVideoTest
方法
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
deviceId | 是 | String | 要检测设备的ID。设备ID通过getDevices 方法获取 |
elementId | 是 | String | Dom元素ID, 该Dom元素用于盛放摄像头对应的视频窗口 |
options | 否 | Object | 播放配置项,包含属性见下文 |
onSuccess | 否 | Function | 视频canplay 之后的回调函数 |
onFailure | 否 | Function | 方法调用/视频失败回调 |
- options
参数名 | 类型 | 说明 |
---|---|---|
mirror | Boolean | 视频是否镜像显示,默认为 false |
loader | Boolean | 用于表示未加载到视频数据时是否显示‘加载中’样式,默认为 true |
mode | Number | 用于表示视频显示模式(是否裁减),可能取值请见视频显示模式,,默认为TK_VIDEO_MODE.ASPECT_RATIO_CONTAIN |
- 方法示例
1 2 3 4 5 6 |
|
stopVideoTest
- 该方法停止摄像头检测
- 为避免引起设备占用问题,等一系列进入教室内可能出现的设备问题,需及时关闭检测。
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
deviceId | 否 | String | 要关闭检测设备的ID。对应开始检测时的设备ID,如不传默认关闭所有指定deviceid 调用startVideoTest 的检测 |
onSuccess | 否 | Function | 成功回调 |
onFailure | 否 | Function | 失败回调 |
- 方法示例
1 2 3 4 5 |
|
startMicrophoneTest
- 该方法开始检测麦克风是否可用
- 若当前有麦克风正在检测,调用
startMicrophoneTest
会自动停止正在进行的检测操作,但若要停止最后一次麦克风检测,必须调用stopMicrophoneTest
方法
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
deviceId | 是 | String | 要检测设备的ID。设备ID通过getDevices 方法获取 |
elementId | 是 | String | Dom元素ID。该Dom元素用于盛放播放麦克风声音的播放器 |
onSuccess | 否 | Function | 方法调用成功回调,携带麦克风当前采集到的音量值 |
onFailure | 否 | Function | 方法调用失败回调 |
- 方法示例
1 2 3 4 5 6 7 8 9 10 11 12 |
|
stopMicrophoneTest
- 该方法停止麦克风检测
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
onSuccess | 否 | Function | 成功回调 |
- 方法示例
1 2 3 |
|
startSpeakerTest
- 该方法开始检测扬声器是否可用
- 若当前有扬声器正在检测,调用
startSpeakerTest
会自动停止正在进行的检测操作,但若要停止最后一次扬声器检测,必须调用stopSpeakerTest
方法
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
deviceId | 是 | String | 要检测设备的ID。设备ID通过getDevices 方法获取 |
audioUrl | 是 | String | 声音文件的绝对地址,建议使用wav格式的文件 |
onFailure | 否 | Function | 失败回调 |
onSuccess | 否 | Function | 成功回调,会定期触发返回当前声音媒体文件音量 |
- 方法示例
1 2 3 4 5 6 |
|
stopSpeakerTest
- 该方法停止扬声器检测
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
onSuccess | 否 | Function | 成功回调 |
- 方法示例
1 2 3 |
|
startNetworkTest
- 该方法开始网络质量检测
- 接口调用后会以轮询的方式进行网络测速,并持续通过onSuccess返回数据。
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
onSuccess | 是 | Function | 成功回调。回调的第一个参数表示网络质量(可能取值请见网络状态质量); 第二个参数表示延时(单位为ms); 第三个参数表示详细的上下行网络质量(说明如下) |
onFailure | 否 | Function | 失败回调 |
- networkQualityDetail
参数名 | 类型 | 说明 |
---|---|---|
downlinkDelayLevel | Number | 下行网络质量(可能取值请见网络状态质量) |
uplinkDelayLevel | Number | 上行网络质量(可能取值请见网络状态质量) |
downlinkDelay | Number | 下行网络延时(单位为ms) |
uplinkDelay | Number | 上行网络延时(单位为ms) |
- 方法示例
1 2 3 |
|
stopNetworkTest
-
该方法停止网络质量检测
-
方法示例
1 |
|
registerDeviceChangeListener
- 该方法添加监听设备改变(插拔)的监听器
- 只能有一个监听器,若重复添加,之前添加的监听器会失效
- 经测试,极个别设备的行为异常,在未发生插拔设备的操作时,也会不断触发回调函数
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
listener | 是 | Function | 回调函数,当设备变化时会回调该函数。回调参数说明如下 |
参数名 | 类型 | 说明 |
---|---|---|
changed | Object | 发生改变的设备信息, 例:{videoinput:[{kind:’videoinput’,label:’视频设备label’,deviceId:’视频设备id’} |
type | Number | 改变类型,取值为 (设备添加: TK.DEVICE_STATE.DEVICE_ADD ) 或 (设备移除:TK.DEVICE_STATE.DEVICE_REMOVE ) |
- 方法示例
1 2 3 4 5 6 7 8 |
|
- 移除设备监听器
1 |
|
getAudioMediaStream
- 该方法获取指定用户的音频原始数据
- 该接口只能用于获取已经上台的用户音频数据,获取自己的音频数据时,自己可不在台上
- 通过成功回调获取到的音频数据格式为
16bit
、16000hz
、单声道的arrayBuffer
数据
参数名 | 必填 | 类型 | 说明 |
---|---|---|---|
userid | 是 | String | 用户id |
option | 否 | Object | 可选配置,目前仅支持获取用户音频数据,不接受传值 |
onSuccess | 是 | Function | 成功回调 |
onFailure | 否 | Function | 失败回调 |
- 方法示例
1 2 3 4 5 |
|