我尝试创建具有视频录制功能的视频应用,并使用具有1440x1080屏幕分辨率的小米Redmi 5进行测试。当我尝试使用MediaRecorder录制视频时,我得到1440x1080的视频:
mediaRecorder.setVideoSource(MediaRecorder.VideoSource.SURFACE);
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setOutputFile(videoFileName);
mediaRecorder.setVideoEncodingBitRate(1000000);
mediaRecorder.setVideoFrameRate(30);
mediaRecorder.setVideoSize(videoSize.getWidth(), videoSize.getHeight());
mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
//mediaRecorder.setOrientationHint(totalRotation);
mediaRecorder.prepare();
当我尝试将视频大小设置为:
videoSize = new Size(1920, 1080);
Android Studio出错:
Surface with size (w=1920, h=1080) and format 0x22 is not valid, size not in valid set: [1440x1080, 1440x720, 1280x720, 960x720, 960x540, 800x600, 864x480, 800x480, 720x480, 640x480, 640x360, 640x320, 480x368, 480x320, 352x288, 320x240, 176x144]
我可以用小米操作系统的摄像机录制1920x1080的视频,但不能用我的应用程序录制。
如何使用Camera2 API录制更好的智能手机质量视频?
您可以在Android Studio错误消息中找到答案:不支持所需的分辨率,因为它不在给定集中
[1440x1080, 1440x720, 1280x720, 960x720, 960x540, 800x600, 864x480, 800x480, 720x480, 640x480, 640x360, 640x320, 480x368, 480x320, 352x288, 320x240, 176x144]
。如果设备不支持它,我想您将无法做更多的事情。