用途:为 Even Hub 应用接入 G2 硬件能力,包括音频采集、IMU、定位、手机取图、设备与用户信息、本地存储。
主要能力与用法: 音频:await bridge.audioControl(true, source) 启动,false 停止。source 取 AudioInputSource.Glasses(G2 四麦阵列,需先成功调用 createStartUpPageContainer)或 AudioInputSource.Phone(无需启动页)。数据经 onEvenHubEvent 的 event.audioEvent 获取,含 source 与 audioPcm(Uint8Array)。格式为 PCM、16 kHz、有符号 16 位小端、单声道。需在 app.json 声明 g2-microphone 或 phone-microphone。 IMU:await bridge.imuControl(true, ImuReportPace.P500) 启动,false 停止。Pace 为协议节拍码(P100–P1000),非字面 Hz。数据在 event.sysEvent.imuData,形如 {x,y,z},需判断 eventType === OsEventTypeList.IMU_DATA_REPORT。 定位:单次用 getAppLocation(options?),返回 AppLocation 或 null,需判空;连续用 startAppLocationUpdates(options?) 配合 onAppLocationChanged(cb),停止用 stopAppLocationUpdates()。精度枚举 Low/Medium/High,选项含 timeoutMs、intervalMs、distanceFilter。需声明 location。Android 上 WebView 挂起时连续更新会停止,回前台需重新启动。 照片:pickImageFromAlbum()(需 album 权限)与 captureImageFromCamera()(需 camera 权限),均单次返回 AppImageAsset 或 null,含 path、name、mimeType、size、base64。相册为单选。发往眼镜前建议降采样并转 4 位灰度。 设备与用户:getDeviceInfo() 返回 DeviceInfo(model、sn、status),status 含电量、佩戴、充电等;可用 onDeviceStatusChanged 订阅。getUserInfo() 返回 uid、name、avatar、country。 本地存储:setLocalStorage/getLocalStorage 为唯一可靠持久化,浏览器 IndexedDB 与 localStorage 不可靠;大内容按 5 万字符分块存多键。
限制:退出或销毁时须停止硬件并取消订阅,否则麦克风或 IMU 可能继续运行。SDK 不提供蓝牙直连、任意像素绘制、音频输出、文本对齐、字体、背景色、列表样式、滚动位置、动画,眼镜无摄像头,图像仅灰度。
适用场景:需要眼镜麦克风、运动传感、定位或手机取图的 Even Hub 应用。