方法 | 返回类型 | 用途 |
DeviceProxyManagers.audio() | DirectAudioProxyManager | 获取 Mic 数据通道,用于写入原始音频数据(PCM 格式)。 |
DeviceProxyManagers.camera() | DirectCameraProxyManager | 获取 Camera 数据通道,用于写入视频数据。 |
DeviceProxyManagers.sensor() | SensorProxyManager | 获取 Sensor 数据通道,用于写入结构化传感器数据。 |
DeviceProxyManagers.location() | LocationProxyManager | 获取 Location 数据通道,用于写入结构化定位数据。 |
参数 | 说明 |
width / height | 视频帧分辨率,需与传入的图像数据大小保持一致。 |
format | 视频帧像素格式,取值支持:RGBA_8888、RGBX_8888、I420、NV21、JPEG、RGB_888。 |
rotation | 视频帧旋转角度。 |
cameraId | 目标虚拟 camera id。 |
像素格式 | 数据大小 |
I420 / NV21 | width × height × 3 / 2 字节 |
RGBA / RGBX | width × height × 4 字节 |
RGB888 | width × height × 3 字节 |
Sensor 类型 | 最小 values 长度 | 说明 |
加速度 / 重力 / 线性加速度 | 3 | x, y, z。 |
磁场 / 方向 / 陀螺仪 | 3 | x, y, z 或 azimuth, pitch, roll。 |
旋转向量 / 游戏旋转向量 / 地磁旋转向量 | 4 | 通常为 x, y, z, w,部分类型可带 heading accuracy。 |
未校准磁场 / 陀螺仪 / 加速度 | 6 | uncalibrated + bias。 |
其他类型 | 1 | 默认至少传入一个值。 |
字段 | 要求 |
latitude | 设置 HAS_LAT_LONG 时,范围必须为 [-90, 90]。 |
longitude | 设置 HAS_LAT_LONG 时,范围必须为 [-180, 180]。 |
speedMetersPerSecond | 设置 HAS_SPEED 时,必须非负。 |
bearingDegrees | 设置 HAS_BEARING 时,必须在 [0, 360) 范围内。 |
各类 accuracy | 对应 flag 有效时,必须 finite 且非负。 |
timestampMillis / elapsedRealtimeNanos | 必须非负;建议传入单调时间 elapsedRealtimeNanos。 |
返回值 | 处理建议 |
isConnected() == false | 数据通道不可用,调用方不应继续注入。请检查镜像版本和服务状态。 |
reportSensorEvent(s) == false | 可能是注入数据不合法、传感器服务不可用或数据写入失败。请检查 sensorType、values 长度和服务状态。 |
reportLocationEvent(s) == false | 可能是注入数据不合法、定位服务不可用或数据写入失败。请检查经纬度、速度、航向、精度和时间字段。 |
putVideoFrame == false | 可能是摄像头未被应用打开、写入进程不一致、共享内存失败或 buffer / config 不合法。 |
putAudioFrame == false | 可能是 Mic 未处于录音状态、写入进程不一致、共享内存失败或 PCM 数据不合法。 |