其他分享
首页 > 其他分享> > Android mediarecorder只录制可怕质量的视频

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