VKSession
vision kit 会话对象
支持情况:

方法
| 参数 | 类型 | 说明 |
|---|---|---|
| state | keyof State | 会话状态 |
| config | Config | 会话配置 |
| cameraSize | Size | 相机尺寸 |
cancelAnimationFrame
取消由 requestAnimationFrame 添加到计划中的动画帧请求
支持情况:

(requestID: number) => void
| 参数 | 类型 |
|---|---|
| requestID | number |
destroy
销毁会话
支持情况:

() => void
getVKFrame
获取帧对象,每调用一次都会触发一次帧分析过程
支持情况:

(width: number, height: number) => VKFrame
| 参数 | 类型 | 说明 |
|---|---|---|
| width | number | 宽度 |
| height | number | 高度 |
hitTest
触摸检测,v1 版本只支持单平面(即 hitTest 生成一次平面后,后续 hitTest 均不会再生成平面,而是以之前生成的平面为基础进行检测)。
如果需要重新识别其他平面,可以在调用此方法时将 reset 参数置为 true。
支持情况:

(x: number, y: number, reset?: boolean) => hitTestResult[]
| 参数 | 类型 | 说明 |
|---|---|---|
| x | number | 相对视窗的横坐标,取值范围为 [0, 1],0 为左边缘,1 为右边缘 |
| y | number | 相对视窗的纵坐标,取值范围为 [0, 1],0 为上边缘,1 为下边缘 |
| reset | boolean | 是否需要重新识别其他平面,v2 版本不再需要此参数 |
off
取消监听会话事件。
支持情况:

(eventName: string, fn: Function) => void
| 参数 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| fn | Function | 事件监听函数 |
on
监听会话事件。
支持情况:

(eventName: string, fn: Function) => void
| 参数 | 类型 | 说明 |
|---|---|---|
| eventName | string | 事件名称 |
| fn | Function | 事件监听函数 |
requestAnimationFrame
在下次进行重绘时执行。
支持情况:

(callback: Function) => number
| 参数 | 类型 | 说明 |
|---|---|---|
| callback | Function | 执行函数 |
start
开启会话。
支持情况:

(callback: (status: keyof StartStatus) => void) => void
| 参数 | 类型 | 说明 |
|---|---|---|
| callback | (status: keyof StartStatus) => void | 开启会话回调 |
stop
停止会话。
支持情况:

() => void
参数
State
state 的合法值
| 参数 | 说明 |
|---|---|
| 0 | 不可用 |
| 1 | 运行中 |
| 2 | 暂停中 |
Config
会话配置
| 参数 | 类型 | 说明 |
|---|---|---|
| version | keyof version | 不可用 |
| track | track | 运行中 |
version
vision kit 版本
| 参数 | 说明 |
|---|---|
| v1 | 旧版本 |
| v2 | v2 版本,目前只有 iOS 基础库 2.22.0 以上支持 |
track
跟踪配置
| 参数 | 类型 | 说明 |
|---|---|---|
| plane | plane | 平面跟踪配置 |
plane
平面跟踪配置
| 参数 | 类型 | 说明 |
|---|---|---|
| mode | keyof PlaneMode | 平面跟踪配置模式 |
PlaneMode
平面跟踪配置模式合法值
| 参数 | 说明 |
|---|---|
| 1 | 检测横向平面 |
| 2 | 检测纵向平面,只有 v2 版本支持 |
| 3 | 检测横向和纵向平面,只有 v2 版本支持 |
Size
相机尺寸
| 参数 | 类型 | 说明 |
|---|---|---|
| width | number | 宽度 |
| height | number | 高度 |
hitTestResult
hitTest 检测结果
| 参数 | 类型 | 说明 |
|---|---|---|
| transform | Float32Array | 包含位置、旋转、放缩信息的矩阵,以列为主序 |
StartStatus
start status 的合法值
| 参数 | 说明 |
|---|---|
| 0 | 成功 |
| 2000000 | 系统错误 |
| 2000001 | 参数错误 |
| 2000002 | 设备不支持 |
| 2000003 | 系统不支持 |
| 2003000 | 会话不可用 |
| 2003001 | 未开启系统相机权限 |
| 2003002 | 未开启小程序相机权限 |
API 支持度
| API | 微信小程序 | H5 | React Native |
|---|---|---|---|
| VKSession | ✔️ | ||
| VKSession.cancelAnimationFrame | ✔️ | ||
| VKSession.destroy | ✔️ | ||
| VKSession.getVKFrame | ✔️ | ||
| VKSession.hitTest | ✔️ | ||
| VKSession.off | ✔️ | ||
| VKSession.on | ✔️ | ||
| VKSession.requestAnimationFrame | ✔️ | ||
| VKSession.start | ✔️ | ||
| VKSession.stop | ✔️ |