【问题标题】:Which Android Camera API should a new project use?新项目应该使用哪个 Android Camera API?
【发布时间】:2015-10-21 19:54:06
【问题描述】:

我正在开发一个新的应用程序,我想一直支持到 Jelly Bean/Ice Cream Sandwich。我需要在我的应用程序中使用摄像机 - 只拍摄大约 15 秒的镜头,无需处理。

我是否必须编写两个相机活动,一个使用相机 api,另一个使用 camera2 api,并以某种方式根据设备的 api 级别选择一个?

或者,我应该只使用相机 api 吗?

如果您现在正在开发基于相机的新应用,您会使用哪种相机 API?

谢谢!

标记

【问题讨论】:

    标签: android camera


    【解决方案1】:

    在不久的将来,已弃用的 Camera API 不会消失,即使在最先进的新设备上也是如此。如果出现以下原因之一,我建议切换到 Camera2:

    • 您的应用充分利用了一些新功能,例如边录制边捕捉。
    • 您的应用有其他原因不能在 API v.21 (Lollipop) 下向后兼容,例如它仅在 ARM64 上运行。
    • 您想使用新 API 练习或展示您的技能。

    PS 我支持SAg 的第一个建议:如果您只需要此类意图可以提供的内容,请使用相机意图。一段未经处理的短视频就是一个很好的例子。

    【讨论】:

    • 感谢您的真实回答!让我感觉更好的是,我可以从已弃用的相机 api 开始(关于如何使用它的更多文档),然后在新的 api 中工作,因为勇敢的早期采用者创建了更多示例代码!
    • 嗨,亚历克斯,我觉得你可以帮助我解决我的问题。请看一下(我主要在平台上工作,只有框架的基础知识)stackoverflow.com/questions/33255954/…
    • @SumitAgrawal:我也很乐意阅读受过教育的答案。我不是 AIDL 专家。
    • 我明白了。无论如何,谢谢。
    【解决方案2】:

    首先,您需要确定是真的要构建自定义的相机应用,还是可以使用现有的相机应用。从你的问题来看,我觉得你的情况是后一种情况,你可以简单地使用一个意图来调用现有的 Android 相机应用程序。

    https://developer.android.com/guide/topics/media/camera.html#intents

    如果你真的想构建自己的定制相机应用,我建议你参考这个链接:

    http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels

    并阅读以下部分:

    应用程序向前兼容性
    应用程序向后兼容性
    选择平台版本和 API 级别

    【讨论】:

    • 我的问题的两个答案都很棒....不知道如何给你们两个打上绿色的复选标记。我很确定我需要一个自定义相机应用程序。我需要(a)添加一个十字准星,这样用户就可以在一个物体在空中移动时跟随它; (b) 当照相机跟随空中物体时,测量照相机的角度; (c) 有按钮来启动和停止计时器,以了解物体在空中飞行了多长时间。实际的视频录制只是对上述信息的补充。
    • 所有这些任务都可以通过一个在后台运行但在顶部绘制并监听方向传感器的应用程序来完成
    猜你喜欢
    • 2019-10-23
    • 2011-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 2017-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多