本地设备管理类
- 本地设备管理类(DeviceMgr)
- DeviceMgr
- getDevices
- setDevices
- getCameras
- setCamera
- getMicrophones
- setMicrophone
- getSpeakers
- setSpeaker
- startVideoTest
- stopVideoTest
- startMicrophoneTest
- stopMicrophoneTest
- startSpeakerTest
- stopSpeakerTest
- startNetworkTest
- stopNetworkTest
- registerDeviceChangeListener
- releaseVideoDevice
- releaseAudioDevice
本地设备管理类(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 | |
releaseVideoDevice
- 该方法释放指定摄像头物理设备(指示灯熄灭)
- 传入对应摄像头设备id即可关闭该摄像头,释放该摄像头视频资源,如果当前有使用该摄像头资源的元素会黑屏
- 摄像头设备id可不传,此时默认关闭所有摄像头
| 参数名 | 必填 | 类型 | 说明 |
|---|---|---|---|
| deviceId | 否 | String | 摄像头设备id |
- 方法示例
1 2 | |
releaseAudioDevice
- 该方法释放指定麦克风物理设备(指示灯熄灭)
- 传入对应麦克风设备id即可关闭该麦克风,释放该麦克风音频资源,如果当前有使用该麦克风资源的元素会无声
- 麦克风设备id可不传,此时默认关闭所有麦克风
| 参数名 | 必填 | 类型 | 说明 |
|---|---|---|---|
| deviceId | 否 | String | 麦克风设备id |
- 方法示例
1 2 | |




