# camera开发

在RayNeo眼镜上进行camera应用的开发与一般的android平台camera应用开发并无什么区别，详情请参考[developer.android.com](https://developer.android.com/media/camera/camera2?hl=zh_cn)，同时也需要注意权限的申请以及资源的释放。

这里推荐使用camera2 API，sample中有详细的示例演示了如何在眼镜应用中调用camera，并在两个屏幕上进行预览以及调用camera获取一帧图片的逻辑。具体的实现方式可以参考CameraActivity。

如果需要查看眼镜camera支持的分辨率以及支持的预览参数，用户可自行枚举查看，示例中也有一个简单的camera枚举方法仅供参考：

```kotlin
private fun enumerateCameraResolutions() {
    val cameraManager = getSystemService(CAMERA_SERVICE) as CameraManager
    val cameraIdList = cameraManager.cameraIdList

    for (cameraId in cameraIdList) {
        val characteristics = cameraManager.getCameraCharacteristics(cameraId)
        val map = characteristics.get(CameraCharacteristics.SCALER_STREAM_CONFIGURATION_MAP)

        if (map != null) {
            val previewSizes = map.getOutputSizes(SurfaceTexture::class.java)
            val pictureSizes = map.getOutputSizes(ImageFormat.JPEG)

            FLogger.d("Camera ID: $cameraId")
            FLogger.d("Supported Preview Sizes:")
            for (size in previewSizes) {
                FLogger.d("  ${size.width}x${size.height}")
            }

            FLogger.d("Supported Picture Sizes:")
            for (size in pictureSizes) {
                FLogger.d("  ${size.width}x${size.height}")
            }
        }
    }
}
```

snapdragonCamera的源码示例（<mark style="color:red;">AE收敛状态=2则可以正常取图</mark>）： <https://github.com/Lh1600852534/snapdragonCamera/blob/master/src/com/android/camera/CaptureModule.java>

#### VGA camera

Rayneo x3眼镜上还有一个独立的VGA摄像头，专门用于空间定位，支持的参数如下：

```yaml
2025-09-25 18:13:32.490  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D  Camera ID: 1
2025-09-25 18:13:32.490  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D  Supported Preview Sizes:
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    640x480
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    640x400
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    640x360
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    480x360
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    352x288
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    320x240
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    320x180
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    176x144
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D  Supported Picture Sizes:
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    640x480
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    640x400
2025-09-25 18:13:32.491  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    640x360
2025-09-25 18:13:32.492  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    480x360
2025-09-25 18:13:32.492  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    352x288
2025-09-25 18:13:32.492  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    320x240
2025-09-25 18:13:32.492  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    320x180
2025-09-25 18:13:32.492  1583-1583  camera                  com.ffalcon.mercury.android.sdk      D    176x144
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://rayneo.gitbook.io/rayneo-devdoc/x-xi-lie/android-kai-fa/neng-li-jie-shao/camera-kai-fa.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
