gpt4 book ai didi

android - : setVideoSize() does not work 如何控制采集视频的帧高和帧宽

转载 作者:太空狗 更新时间:2023-10-29 16:25:16 26 4
gpt4 key购买 nike

在 Nexus One 上(例如),相机应用程序能够以 720x480(“高”质量设置)捕获 H.264 视频。但是,在使用 MediaRecorder API 时,它似乎总是以 320x240 的固定帧大小进行捕获。

我希望 setVideoSize() 方法可以控制帧大小(如下面的准备 fragment 所示),但它似乎没有效果(使用 Froyo 2.2 Android SDK)。

MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
recorder.setOutputFile(PATH_TO_FILE);
recorder.setVideoSize(720,480);
recorder.setPreviewDisplay(holder.getSurface());
recorder.prepare();

Discussions on the android developers list似乎表明这是一个长期存在的问题。谁能建议如何控制帧大小,或者是否可以使用当前 API 控制帧大小?

最佳答案

顺序很重要。尝试在 setVideoEncoder 之前调用 setVideoSize:

MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setVideoSize(720,480);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
recorder.setOutputFile(PATH_TO_FILE);
recorder.setPreviewDisplay(holder.getSurface());
recorder.prepare();

关于android - : setVideoSize() does not work 如何控制采集视频的帧高和帧宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3412708/

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