我正在使用 Google Developer API Guide 实现自定义摄像机;它使用 MediaRecorder
类来创建和管理摄像机的所有设置/操作。
除了将文件写入手机所花费的时间太长这一事实(录制后,我什至需要大约 5 分钟才能在图库 下看到该文件),它正常工作。
但我不想要一个文件:我需要记录生成的原始字节数组,然后再将其转储到文件中。
是否MediaRecorder
甚至允许你这样做?我的方向正确吗?
我需要的一个很好的例子是 PictureCallback
的 onPictureTaken()
方法为您提供一个字节数组,其中包含以字节为单位的图片。
最佳答案
MediaRecorder
旨在变得简单:告诉它输入的来源,给它一个要写入的文件,然后让它运行。
如果你想要更灵活的东西,你需要使用MediaCodec
。直到 API 18 (Android 4.3),您想要的功能集才真正存在。
Grafika包括“连续捕获” Activity ,它将 H.264 视频记录到内存中的循环缓冲区,并在您点击“捕获”时将当前帧集写入文件。这只是视频;如果您需要音频,则需要单独处理。
对于早期版本的 Android,您需要使用 ffmpeg 等第 3 方库来处理视频编码,这会显着降低帧速率。
关于android - 在不写入文件的情况下将视频录制到字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22965817/