Android mediarecorder只录制可怕质量的视频
作者:互联网
所以我有以下代码来进行录制,质量非常糟糕.我想我必须设置错误,但我已经尝试过两种方式.以“CamcorderProfile”方式然后以“手动”方式,可以看到摄像机代码被注释掉了.两者都给出了完全相同的结果.
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 ();
这很好用,但问题就在这里. This是录制时预览窗口的图片,this是播放时的视频图片.你实际上不能说,因为截图是如此可怕,但没有一种颜色是正确的(它几乎没有颜色)我认为颜色通道必定存在某种问题.例如,这是与genymotion“虚拟相机”的另一个比较.这是correct版本.这是weird播放版.
解决方法:
此属性有助于提高视频质量:
mediaRecorder.setVideoEncodingBitRate(3000000); //you may try varying the argument value
并且在准备(:)之前调用此方法
标签:video-processing,android,video-capture,android-mediaplayer,mediarecorder 来源: https://codeday.me/bug/20190728/1560611.html