gpt4 book ai didi

java - Android MediaRecorder 生成带有绿线的损坏视频

转载 作者:太空宇宙 更新时间:2023-11-03 10:30:50 26 4
gpt4 key购买 nike

我正在尝试使用 Android 中的 MediaRecorder 向我的应用程序添加视频录制功能,但生成的视频看起来损坏并带有绿线(音频正常)。以下代码是我用来初始化 MediaRecorder 对象的代码:

mMediaRecorder = new MediaRecorder();
mCamera.unlock();
mMediaRecorder.setCamera(mCamera);
mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mMediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mMediaRecorder.setOutputFile(Utility.CAPTURE_VIDEO_FILENAME);
mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mMediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
mMediaRecorder.setMaxDuration(60000);
mMediaRecorder.setVideoFrameRate(20);
mMediaRecorder.setMaxFileSize(5000000);
mMediaRecorder.setVideoSize(352, 288);
mMediaRecorder.setPreviewDisplay(mPreview.mHolder.getSurface());
mMediaRecorder.prepare();
mMediaRecorder.start();

我已经看过建议herehere ,但它们似乎对我的事业没有帮助。但是,我确实认为这可能与不正确的视频大小有关。所以我的问题是:使用 API 级别 7 时是否有任何好的方法来获得兼容的视频尺寸?据我所知,如果我处于 API 级别 8,我可以使用 CamcorderProfile,但在 7 中则不能。

最佳答案

设备中的视频大小等于预览大小。您必须首先检查您设置的视频大小是否可用。不同设备的视频尺寸可能不同。因此,首先使用 getSupportedPreviewSizes 检查可用的预览尺寸() 然后设置视频大小。如果视频大小不正确,将会出现绿线。

关于java - Android MediaRecorder 生成带有绿线的损坏视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5826712/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com