android - Android 中具有分辨率参数的相机 Intent

标签 android android-camera

我正在构建一个 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/

相关文章:

android - java.io.FileNotFoundException :/file/path. jpg 打开失败:ENOENT(没有这样的文件或目录)

android - 如何将相机拍摄的图像保存在手机内存中以查看文件大小?

android - 拍照没有预览 Android

android - 为什么 CameraX 不能在 Android Studio 中将图片放大到我需要的大小?

Android N - 下载管理器通知取消按钮

java - 有多少种方法可以将位图转换为字符串,反之亦然?

java - 一次只能请求一组权限。试图访问我的安卓相机

android - 扩展文件,导入下载器库,Studio 不喜欢

android - 为什么在设置 MediaRecorder 时显示错误 IllegalStateException?

Android:想要在相机预览上放置剪影叠加