我制作了一个Android应用程序,逐个拍照,存储它们,给用户预览等等......所有这些任务都是以ACTION_IMAGE_CAPTURE
类型的意图完成的。
因此,每次用户想要制作照片时,他应该点击开始意图的“拍照按钮”,并且在等待几秒钟以启动相机之后,用户能够拍照;之后,用户拍摄并接受照片,相机关闭,并通过onActivityResult
方法将拍摄的照片(作为预览的位图)返回给调用类。
现在,如果你想拍多张照片,这个程序真的很乏味。
所以,我想为我的应用程序提供一种模式,允许用户拍摄多张照片而不需要上面提到的所有慢速内容。
只是为了澄清,我不想制作爆破模式(在预定义的时间间隔后自动拍摄照片),但我想让用户能够点击快门拍摄照片尽可能多的时间而不被其他人打断的东西。
在网上搜索,我发现了一些信息,在我看来,有三种可能的方法:
- 意图“INTENT_ACTION_STILL_IMAGE_CAMERA”:这个很容易实现,但相机界面将在很大程度上取决于意图制作时调用的应用程序(例如我的One Plus Three,调用完成此任务的应用程序是“Camera FV-5 Lite”,在模拟设备上是另一个)...因此,我认为无法控制界面或被调用应用程序的行为(对于例如,在通过意图调用的应用程序上可以切换到视频模式,但这不应该在我正在设计的应用程序中执行;;
- 使用“Camera2”软件包(https://developer.android.com/reference/android/hardware/camera2/package-summary.html):Google在此提供了此软件包的一些示例https://github.com/search?utf8=%E2%9C%93&q=android-Camera2&type=,但我不完全了解如何很难采取这条路线;
- 自己拍照代码:我认为这是最困难的方式。
初学者 - 中级开发人员可以按照上述方法之一(或不同的方式)完成此任务吗?
类似问题:
- Taking Multiple Photos from Android device:这里被问到如何加快这个过程,减少一张照片和另一张照片之间的滞后;
- Making a gallery with automatically generated ImageView s:这个问题是关于使用不同意图制作的照片动态更新图库到ACTION_IMAGE_CAPTURE;
- How to take multiple photos before dismissing camera intent?:这个问题涉及的解决方案意图是INTENT_ACTION_STILL_IMAGE_CAMERA
加上ContentObserver
,我不想如上所述追求;
- Issues when capturing Multiple Photos: app stops responding, camera preview turns to green and no picture is saved:在发布多张照片时讨论问题的旧帖子,但有一个答案很有趣,因为提到了Camera2。
答案 0 :(得分:3)
意图" INTENT_ACTION_STILL_IMAGE_CAMERA"
这与您的其他任何选项都不太相似。例如,您不知道是否拍摄了任何照片,存放照片等等。
因此,我认为无法控制被调用应用程序的界面或行为
正确。这与ACTION_IMAGE_CAPTURE
相同。
使用包" Camera2"
这与"使用自己的代码制作代码"相同,除非您为其确定了特定的Android API。
初学者 - 中级开发人员可以按照上面提到的方式(或不同的方法)完成此任务吗?
使用第三方相机库(Fotoapparat,CameraKit-Android等)。