如何使用TextureView上的相机预览录制video

我在一些Android 4.0设备上玩过TextureView。 例如,我尝试开发一个简单的应用程序,它可以录制video并使用TextureView进行预览。 但是,就我阅读Android API文档而言,标准的MediaRecorder需要某些表面来执行video录制,但另一方面,TextureView不再具有自己的表面,因此看起来TextureView和MediaRecorder之间存在不兼容性。

MediaRecorder.setPreviewDisplay

TextureView

有没有人知道如何使用带有TextureView的标准MediaRecorder作为相机预览来录制video? 或者有没有办法录制MediaRecorder以外的video?

非常感谢你。

根据这个问题,在Jelly Bean和更高版本上,你根本就不会调用setPreviewDisplay() ,而MediaRecorder会自动使用Camera使用的预览。 我可以确认,当Camera预览设置为TextureView时,至少在Android 4.2上,不调用setPreviewDisplay()确实有效。 我还没有在较旧的Android版本上尝试这一点来确认4.1有效。

这确实留下了一点差距,因为Android 3.0-4.0设备可能无法使用TextureView进行预览。