无需预览即可捕获视频
Posted
技术标签:
【中文标题】无需预览即可捕获视频【英文标题】:Capture video without preview 【发布时间】:2016-01-16 17:50:50 【问题描述】:我想在不显示预览的情况下捕捉视频。这里的 android 文档说这是可能的,但没有解释如何:
http://developer.android.com/guide/topics/media/camera.html#capture-video
注意:可以在不先创建相机预览的情况下使用 MediaRecorder,并跳过此过程的前几个步骤。但是,由于用户通常更喜欢在开始录制之前查看预览,因此此处不讨论该过程。
要跳过的“前几个步骤”是什么?
谢谢
【问题讨论】:
【参考方案1】:您误解了文档。它真正说的是什么(强调我的):
首先可以在不创建相机预览的情况下使用 MediaRecorder,并跳过此过程的前几个步骤。但是,由于用户通常喜欢在开始录制之前查看预览,因此此处不讨论该过程。
换句话说,您可以创建预览并立即开始录制。没有提示 MediaRecorder 会让您运行隐藏的录制会话。
此外,我同意该文件,即在开始录制之前不开始预览的附加价值可以忽略不计。
【讨论】:
所以你需要预览一下吗? @jonney 是的,你知道。如果你想知道这个预览是否必须在屏幕上可见,答案是“不,但是”。将“用户通常更喜欢看预览”作为强烈警告。 可能是我在最新的堆栈流问题上遇到的问题。请看看,让我知道【参考方案2】:您可以跳过上面链接中给出的配置媒体记录器的第 5 步,并且不会显示预览。但是用户会有兴趣查看它的预览。
【讨论】:
如果我不告诉 mediarecorder 输出文件,那么什么都不会被捕获?【参考方案3】:尽管文档说明这是可能的,但大多数 SO 答案都另有说明。看看这个answer(以及其中链接的答案)。
解决此限制的方法是创建一个 1 x 1 px SurfaceView
并使用它来显示相机预览。
【讨论】:
我想知道在全屏预览视图之上放置一个不透明视图是否会影响性能? 这是一个很好的问题。鉴于这是由本机层处理的,我猜影响几乎相同。预览大小(在相机参数中设置)可能会产生更大的影响。 在许多设备上,1x1 预览恰好对性能造成巨大影响,比 16x16 差得多。以上是关于无需预览即可捕获视频的主要内容,如果未能解决你的问题,请参考以下文章