2015-06-05 306 views
2

我想在三星Galaxy S2上录制视频。我已经使用通常的计算来计算出最佳预览尺寸,并根据算法返回720x480或800x480。完整名单从getParameters().getSupportedPreviewSizes()返回看起来是这样的:安卓相机setPreviewSize

“640×480”,“720×480”,“800×480”,“320×240”,“176×144”

设置这些预览看起来不错的开始。它似乎在录制视频,但是在停止相机之后,没有拍摄视频。

如果我从CamcorderProfile.get(mCameraId, CamcorderProfile.QUALITY_HIGH);得到高度和宽度值,并为预览(1920x1080)设置这些值(不应该支持,因为它不在列表中?),录制工作正常。这真是令人费解。

有没有错误,我可以在日志中看到,它只是不录制视频......

回答

1
getParameters().getSupportedPreviewSizes() 

让你预览大小的摄像头,而不是记录的大小或图片尺寸。

录制的视频,还有其他支持的尺寸作为留念,你可以在的文档,请参阅:

http://developer.android.com/reference/android/media/CamcorderProfile.html

获得支持的视频尺寸只要致电:

getParameters().getSupportedVideoSizes() 

因此您需要设置预览和录制尺寸。

你怎么能做到这一点,在这里回答: How to record video of particular width and height on samsung device android?

+0

感谢您的答复!我将阅读链接的文章。尽管问题很快 - 在API11中增加了getSupportedVideoSizes,API10还有其他选择吗?此外,我也承认预览,视频和图片尺寸是3种不同的东西 - 我只是不明白为什么在将预览大小设置为摄像头配置文件中的值时,设置getSupportedPreviewSizes返回的合法预览尺寸不起作用视频是否正确?) - – vkislicins

+0

这取决于摄像头的本机实现(也许三星做出了一些默认假设),可能是它不适用于所有设备。 API 10没有其他选择,Camera只是本地调用的包装。所以为它创建支持库并不容易,它可以在许多设备上的旧版本上运行。 –