Android mediarecorder只录制质量糟糕的视频
因此,我有下面的代码来做我的录音,质量是绝对可怕的。我想我一定是设置错了,但我试过两种方法。通过“CamcorderProfile”方式和“Manual”方式,您可以看到摄像机代码被注释掉了。两者给出了完全相同的结果Android mediarecorder只录制质量糟糕的视频,android,android-mediaplayer,video-capture,video-processing,mediarecorder,Android,Android Mediaplayer,Video Capture,Video Processing,Mediarecorder,因此,我有下面的代码来做我的录音,质量是绝对可怕的。我想我一定是设置错了,但我试过两种方法。通过“CamcorderProfile”方式和“Manual”方式,您可以看到摄像机代码被注释掉了。两者给出了完全相同的结果 Camera _camera = Camera.Open (1); _camera.Unlock (); recorder = new MediaRecorder (); recorder.SetCamera (_camera); re
Camera _camera = Camera.Open (1);
_camera.Unlock ();
recorder = new MediaRecorder ();
recorder.SetCamera (_camera);
recorder.SetAudioSource (AudioSource.Mic);
recorder.SetVideoSource (VideoSource.Camera);
recorder.SetOutputFormat (OutputFormat.Default);
recorder.SetAudioEncoder (AudioEncoder.Default);
recorder.SetVideoEncoder (VideoEncoder.Default);
//CamcorderProfile p = CamcorderProfile.Get(0, CamcorderQuality.High);
//recorder.SetProfile(p);
recorder.SetOutputFile (path);
recorder.SetPreviewDisplay(video.Holder.Surface);
recorder.Prepare ();
recorder.Start ();
这很好,但问题是。录制时是预览窗口的图片,播放时是视频的图片。你说不出来,因为屏幕截图太糟糕了,但是没有一种颜色是正确的(它几乎没有颜色)。我认为颜色通道一定有某种问题。例如,这里是与genymotion“虚拟照相机”的另一个比较。这是版本。这是回放版本
但是,如果使用Android 5,则应使用新的摄像头。此属性有助于提高视频质量:
mediaRecorder.setVideoEncodingBitRate(3000000); //you may try varying the argument value
当然,在prepare()之前调用这个方法:)你试过什么吗?我尝试了我发布的代码,结果是代码下面的内容。@CalvinMoss,蓝色文本是一个超链接。点击它,看看他指的是什么。晚会迟到了……但还是有人会觉得这很有用。。在这里检查我的答案1分钟视频=~31mb,比特率为3000000
mediaRecorder.setVideoEncodingBitRate(3000000); //you may try varying the argument value