如何在Android Studio中从1440x1080 Surface获取190x1080视频

问题描述 投票:0回答:1

我尝试创建具有视频录制功能的视频应用,并使用具有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 android-studio android-mediarecorder xiaomi
1个回答
0
投票

您可以在Android Studio错误消息中找到答案:不支持所需的分辨率,因为它不在给定集中

[1440x1080, 1440x720, 1280x720, 960x720, 960x540, 800x600, 864x480, 800x480, 720x480, 640x480, 640x360, 640x320, 480x368, 480x320, 352x288, 320x240, 176x144]。如果设备不支持它,我想您将无法做更多的事情。

© www.soinside.com 2019 - 2024. All rights reserved.