我正在构建一个 Android 应用程序,其中部分功能涉及用户拍摄图像和录制视频。
对于应用程序,需要为图像和视频设置特定的分辨率。 是否可以指定分辨率参数,然后使用相机 Intent 捕捉图像和视频,或者我是否需要构建自己的相机 Activity ?
如有任何建议,我们将不胜感激。
编辑:我做了一些额外的研究并查看了 http://developer.android.com/guide/topics/media/camera.html#intents .
如果我理解正确,则在使用图像捕获 Intent 时没有指定分辨率参数的选项 http://developer.android.com/reference/android/provider/MediaStore.html#ACTION_IMAGE_CAPTURE .
对于视频捕获 Intent ,我似乎可以选择使用额外的视频质量参数,但是这只给我提供了高质量和低质量的选项(我不太确定在分辨率方面对应的是什么) http://developer.android.com/reference/android/provider/MediaStore.html#EXTRA_VIDEO_QUALITY
看来我最好开始开发我自己的图像和视频 Activity ,除非我错过了图像和视频 Intent 的其他一些选项。
最佳答案
相机 Intent 启动外部相机应用程序,它可能会使用您的提示(但可能不会)。 Activity/应用程序是非标准的(取决于手机供应商),以及相机软件的具体实现。
您还可以使用相机 api(工作示例在这个项目中:http://sourceforge.net/projects/javaocr/),它允许您:
- 查询支持的图像格式和分辨率(您猜对了 - 取决于供应商)
- 设置预览和捕获的分辨率和格式(但相机软件可以随意忽略此设置,并且某些格式和分辨率尽管被宣传为受支持,但仍会产生奇怪的异常)
结论:Android 设备中的摄像头不同,摄像头 API 文档不足。所以要尽可能地防御。
关于android - Android 中具有分辨率参数的相机 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7980996/