2

我想写一个android程序,现在我在android的ui中使用jni通过openmax访问编解码器,我发现openmax组件中没有视频音频源或帧缓冲区。我的手机是高通的msm7227平台。在高通的网站上,它说 SOC 中有一个 amr 编解码器。

我可以使用 V4L2 访问相机并直接访问 /dev/XX 等音频设备来捕获音频数据吗?

例如,我想捕获一张图片并对其进行编码,首先我分配一个缓冲区,通过 V4L2 用数据填充缓冲区,然后将地址和其他参数传递给 openmax 视频编码器组件。我不知道这是一个好方法。

有人有经验可以帮助我吗?

顺便说一句,java 很慢,我想用 C 或 C++ 编写代码。

4

1 回答 1

1

不要只是假设 Java 很慢。我建议您先在 Java 中尝试,然后在您确定您的应用程序不够快时用 C++ 重写性能关键部分。

Java 的好处是您可以直接使用Camera媒体类,而且它们非常易于使用。

于 2011-07-31T15:02:16.373 回答