【问题标题】:Recording with Camera2 API without using MediaRecorder使用 Camera2 API 录制而不使用 MediaRecorder
【发布时间】:2018-05-23 03:17:48
【问题描述】:

在我的 Android 应用程序中,我需要连续捕捉相机图像并通过网络不断发送它们以供远程查看。

我看过Camera2 录音样本。看来这段代码依赖于MediaRecorder 类。但是,就我而言,我只需要尽可能快地捕获原始图像,以特定方式对其进行编码,然后通过网络发送。

看起来 Camera2 API 的中心概念是它需要一个 Surface 类。是否可以创建一个伪表面类并以某种方式附加到它,以便可以连续捕获图像?或者,还有更好的方法?问候。

【问题讨论】:

    标签: android android-camera2


    【解决方案1】:

    如果您只需要未压缩 YUV 数据的 ByteBuffers,则可以使用 ImageReader。

    如果您确实想在通过网络发送帧之前对其进行编码,您可以使用连接到相机的 MediaCodec(它可以为您提供 Surface)在将帧发送到目的地之前有效地对帧进行编码。这是假设您想要的编码类型在设备上可用。

    只要有可能,大多数视频聊天应用都会采用后者。

    【讨论】:

    • 非常感谢艾迪。 MediaCodec 似乎是我需要的。
    猜你喜欢
    • 2013-04-08
    • 1970-01-01
    • 2016-02-12
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-25
    相关资源
    最近更新 更多