2012-03-20 228 views
12

我一直在使用某些Android 4.0设备上的TextureView进行播放。例如,我试图开发一个简单的应用程序,它可以记录视频并使用TextureView进行预览。但是,就我阅读Android API文档而言,标准MediaRecorder需要一定的表面才能执行视频记录,但另一方面,TextureView没有自己的表面,因此TextureView和MediaRecorder之间的不兼容似乎存在。如何在TextureView上使用相机预览录制视频

MediaRecorder.setPreviewDisplay

TextureView

有谁知道如何使用标准MediaRecorder与TextureView作为其摄像头预览录制视频?或者有什么方法可以记录除MediaRecorder以外的视频?

非常感谢。

回答

8

根据这个问题,在果冻豆和更高,你根本不叫setPreviewDisplay(),和MediaRecorder将自动使用Camera使用的预览。我可以确认,拨打setPreviewDisplay()确实无法工作,至少在Android 4.2上,Camera预览设置为TextureView。我还没有在较旧的Android版本上尝试过,以确认4.1是否有效。

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

+0

我有同样的问题,我使用android 4.0的htc one x在使用textureview作为预览时冻结屏幕,同时尝试使用mediarecorder录制视频 – xiaowoo 2013-11-13 21:51:53

+0

这完全保存了我的下午。否则,我不会为此感到震惊。似乎在S3上工作,现在要尝试3或4个其他设备。 – 2013-11-22 18:57:45