gpt4 book ai didi

android - CamcorderProfile.QUALITY_HIGH 分辨率产生绿色闪烁视频

转载 作者:IT老高 更新时间:2023-10-28 21:46:55 25 4
gpt4 key购买 nike

到目前为止,我还没有找到任何解释。基本上我有一个视频录制类,当我的三星 Galaxy S2 上的 setVideoSize() 设置为 720 x 480 时,它的效果非常好。

我希望它以尽可能高的分辨率录制,因此使用 CamcorderProfile.QUALITY_HIGH 我可以获得各种最高质量的录制属性并将它们设置在我的类(class)中。这适用于文件格式、视频帧速率、编码器和比特率,但是当我尝试将视频大小设置为 CamcorderProfile (1920 x 1080) 返回的宽度和高度时,录制的视频只是绿色闪烁。

我注意到如果我将 720 x 480 更改为 720 x 481,它会做同样的事情。因此,我只能假设手机不支持该分辨率时会发生这种情况。但是,手机附带的摄像机可以录制 1920 x 1080 的分辨率,并且录制效果非常好。

我只能假设我需要以不同的方式设置一些其他参数,但我无法弄清楚它们可能是什么。

有其他人遇到过这个问题吗?

提前感谢您的任何回复。

最佳答案

我遇到了这个问题,试图解决同样的问题。

xda developer http://forum.xda-developers.com/showthread.php?t=1104970&page=8 上给出了解决方案.看来您需要设置一个不起眼的参数“cam_mode”才能进行高清录制:

camera = Camera.open();
Camera.Parameters param = camera.getParameters();
param.set( "cam_mode", 1 );
camera.setParameters( param );

在 mediarecorder 中,您可以使用

mediarecorder.setVideoSize(1920, 1080);

虽然这现在也可以使用:

mediarecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH));

(后者的视频比特率似乎为 20Mb/s,因此您可能希望将其降低一点!)我发现我不必将预览大小设置为 1920x1080。

(编辑)你还需要设置

parame.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);

param.setFocusMode(Camera.Parameters.FOCUS_MODE_INFINITY);

否则您会在相机启动前延迟几秒钟!

至于三星为何以这种方式实现相机,我不知道。这肯定对开发者不友好!

关于android - CamcorderProfile.QUALITY_HIGH 分辨率产生绿色闪烁视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7225571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com