自 2026 年起,为了与我们的主干稳定开发模型保持一致,并确保生态系统的平台稳定性,我们将在第 2 季度和第 4 季度向 AOSP 发布源代码。如需构建 AOSP 并为其贡献代码,请使用 android-latest-release。android-latest-release 清单分支将始终引用推送到 AOSP 的最新版本。如需了解详情,请参阅 AOSP 变更。
Google 会使用 AI 技术将内容翻译成您偏好的语言。AI 翻译可能包含错误。
SDV 媒体:使用摄像头
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
SDV Media 支持通过 Linux V4L2 API 使用摄像机。您可以直接使用 V4L2 API,但我们建议应用开发者使用用户空间帮助程序库。例如:
支持的缓冲区模式
上游 V4L2 维护人员认为 USERPTR 缓冲区模式已废弃,因此 SDV Media 不支持此模式。请改用 MMAP 或 DMABUF 模式
。
使用摄像机
虚拟机监控程序公开的每个视频设备(摄像机、编码器和解码器)都将显示为名为 /dev/videoN(N 为数值)的单独设备。
应用可以使用 VIDIOC_QUERYCAP ioctl 查询
视频设备的功能。摄像机设备 报告支持 V4L2_CAP_VIDEO_CAPTURE
或 V4L2_CAP_VIDEO_CAPTURE_MPLANE。
如需详细了解视频捕获流程,请参阅
Linux API 的视频:输入/输出。
请考虑以下代码示例:
为了进行测试,SDV Media 提供了一个 v4l2loopback 内核模块,该模块可用于在 guest 虚拟机中完全模拟摄像机。默认情况下,它会初始化单个虚拟摄像机设备。如需添加更多设备,请通过内核命令行将配置参数传递给该模块。例如,如需初始化 4 个设备,请添加:
v4l2loopback.devices=4
如需查看可用模块选项的完整列表,请参阅
v4l2loopback README或 Android 内核
代码库中的模块源代码。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2026-06-18。
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2026-06-18。"],[],[]]