- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
到目前为止,我还没有找到任何解释。基本上我有一个视频录制类,当我的三星 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/
Posical duplicate MediaRecorder start failed: -16 MediaRecorder 启动失败:-16 当将 CamcorderProfile.QUALITY
我的代码: mediaRecorder = new MediaRecorder(); mediaRecorder.setCamera(camera); mediaRecorder.setVideoSo
我在尝试使用 CamcorderProfile.hasProfile(xyz) 时收到运行时 NoSuchMethodError。在我的应用 list 中指定了正确的 API 这是我想使用的 blo
这是我的问题,我正在开发一个使用摄像头和录制视频的软件,一切正常,但我不知道如何管理设置,例如我有一个三星 galaxy S 可以录制视频1280x720,但当我将此分辨率设置为: Camcorder
根据docs , 你可以使用 CamcorderProfile 获取设备默认的视频编解码器格式,然后将其设置为 MediaRecorder,如下所示: CamcorderProfile mProfil
我正尝试在我的 Nexus 5x 上拍摄慢动作视频。这就是我配置媒体记录器的方式: CamcorderProfile profile = CamcorderProfile.get(CamcorderP
到目前为止,我还没有找到任何解释。基本上我有一个视频录制类,当我的三星 Galaxy S2 上的 setVideoSize() 设置为 720 x 480 时,它的效果非常好。 我希望它以尽可能高的分
我有一个代码示例: mediaRecorder = new MediaRecorder(); mediaRecorder.setPreviewDisplay(surfaceHolder.getSurf
我的应用程序使用 HLS 从服务器流式传输视频,但是当我从服务器请求 HLS 流时,我需要将设备可以处理的最大视频比特率传递给它。在Android API guides它说“设备的可用视频录制配置文件
由于我想通过 CamcorderProfiles (CamcorderProfile.QUALITY_HIGH/LOW) 设置 Android 摄像机录制质量,我还需要相应地设置相机预览尺寸(和布局)
我在 Nexus 7 2012 上使用自定义摄像头录制视频时遇到了这个问题,而其他设备,如 Zenfone 2、Galaxy S3、S6、HTC One M7、Oppo N1、Sony Xperia
我是一名优秀的程序员,十分优秀!