最近项目录制适配时,录制视频很模糊,有以下解决方法。
本以为十分简单,万万没想到费了半天功夫。因为资料比较难找,我发现模糊是由于分辨率比较低,以为直接
mMediaRecorder.setVideoSize(640,480);
就ok了,结果不然,发现设置本机的分辨率时,没有问题,但是如果设置的比较小,就会有tart failed异常。
找了很多原因,才发现setVideoSize() 必须在 setVideoEncoder()之前,囧了。问题得到解决。
晒出源码:
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setVideoSize(640,480);
mMediaRecorder.setVideoFrameRate(16);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);