Skip to main content
Version: 3.x

VKSession

vision kit 会话对象

支持情况:

参考文档

方法

参数类型说明
statekeyof State会话状态
configConfig会话配置
cameraSizeSize相机尺寸

cancelAnimationFrame

取消由 requestAnimationFrame 添加到计划中的动画帧请求

支持情况:

参考文档

(requestID: number) => void
参数类型
requestIDnumber

destroy

销毁会话

支持情况:

参考文档

() => void

getVKFrame

获取帧对象,每调用一次都会触发一次帧分析过程

支持情况:

参考文档

(width: number, height: number) => VKFrame
参数类型说明
widthnumber宽度
heightnumber高度

hitTest

触摸检测,v1 版本只支持单平面(即 hitTest 生成一次平面后,后续 hitTest 均不会再生成平面,而是以之前生成的平面为基础进行检测)。

如果需要重新识别其他平面,可以在调用此方法时将 reset 参数置为 true。

支持情况:

参考文档

(x: number, y: number, reset?: boolean) => hitTestResult[]
参数类型说明
xnumber相对视窗的横坐标,取值范围为 [0, 1],0 为左边缘,1 为右边缘
ynumber相对视窗的纵坐标,取值范围为 [0, 1],0 为上边缘,1 为下边缘
resetboolean是否需要重新识别其他平面,v2 版本不再需要此参数

off

取消监听会话事件。

支持情况:

参考文档

(eventName: string, fn: Function) => void
参数类型说明
eventNamestring事件名称
fnFunction事件监听函数

on

监听会话事件。

支持情况:

参考文档

(eventName: string, fn: Function) => void
参数类型说明
eventNamestring事件名称
fnFunction事件监听函数

requestAnimationFrame

在下次进行重绘时执行。

支持情况:

参考文档

(callback: Function) => number
参数类型说明
callbackFunction执行函数

start

开启会话。

支持情况:

参考文档

(callback: (status: keyof StartStatus) => void) => void
参数类型说明
callback(status: keyof StartStatus) => void开启会话回调

stop

停止会话。

支持情况:

参考文档

() => void

参数

State

state 的合法值

参数说明
0不可用
1运行中
2暂停中

Config

会话配置

参数类型说明
versionkeyof version不可用
tracktrack运行中

version

vision kit 版本

参数说明
v1旧版本
v2v2 版本,目前只有 iOS 基础库 2.22.0 以上支持

track

跟踪配置

参数类型说明
planeplane平面跟踪配置

plane

平面跟踪配置

参数类型说明
modekeyof PlaneMode平面跟踪配置模式

PlaneMode

平面跟踪配置模式合法值

参数说明
1检测横向平面
2检测纵向平面,只有 v2 版本支持
3检测横向和纵向平面,只有 v2 版本支持

Size

相机尺寸

参数类型说明
widthnumber宽度
heightnumber高度

hitTestResult

hitTest 检测结果

参数类型说明
transformFloat32Array包含位置、旋转、放缩信息的矩阵,以列为主序

StartStatus

start status 的合法值

参数说明
0成功
2000000系统错误
2000001参数错误
2000002设备不支持
2000003系统不支持
2003000会话不可用
2003001未开启系统相机权限
2003002未开启小程序相机权限

API 支持度

API微信小程序H5React Native
VKSession✔️
VKSession.cancelAnimationFrame✔️
VKSession.destroy✔️
VKSession.getVKFrame✔️
VKSession.hitTest✔️
VKSession.off✔️
VKSession.on✔️
VKSession.requestAnimationFrame✔️
VKSession.start✔️
VKSession.stop✔️