可以通过android MediaRecorder
捕获分辨率高于320*240
的视频吗?Android MediaRecorder问题setVideoSize()
当我使用MediaRecorder::setVideoSize()
设置视频尺寸时,捕获的视频全部为320*240
的分辨率。更糟糕的是,更高级的人无法获得清晰的视频,他们有点绿色。 (使用的编码器是h263
,格式为mpeg4
)这里使用
的Android版本1.6
可以请人帮我吗?
可以通过android MediaRecorder
捕获分辨率高于320*240
的视频吗?Android MediaRecorder问题setVideoSize()
当我使用MediaRecorder::setVideoSize()
设置视频尺寸时,捕获的视频全部为320*240
的分辨率。更糟糕的是,更高级的人无法获得清晰的视频,他们有点绿色。 (使用的编码器是h263
,格式为mpeg4
)这里使用
的Android版本1.6
可以请人帮我吗?
首先你要确定你的相机支持什么。尝试:
List<String> anti = params.getSupportedAntibanding();
List<String> color = params.getSupportedColorEffects();
List<String> focus = params.getSupportedFocusModes();
List<String> flash = params.getSupportedFlashModes();
List<Size> previewSize = params.getSupportedPreviewSizes();
List<Size> sizes = params.getSupportedPictureSizes();
List<Integer> frameRates = params.getSupportedPreviewFrameRates();
List<Integer> pictureFormats = params.getSupportedPictureFormats();
List<String> scene = params.getSupportedSceneModes();
List<String> white = params.getSupportedWhiteBalance();
这会告诉你所有相机支持的参数。其次,确保您正确初始化您的MediaRecorder,请参阅Google文档了解您需要设置MediaRecorder的顺序。此外,如果您的Camera.setPreviewSize和MediaRecorder.setVideoSize不同,它可能会导致奇怪的行为。
我有一个类似于这里描述的问题。事实证明,在调整视频大小之前,我不得不重构我的代码。
重要的是setVideoSize()在setVideoEncoder()之前被调用。我在文档中找不到这个,但是它解决了我设置特定视频分辨率的问题。 还要记住setOutputFormat()应该在setVideoSize()之前调用。
至于旁注,setVideoFrameRate()也是如此。如果它在setVideoEncoder()之前未被调用,则不会有任何影响。
这是采用Android 2.3.3测试
这里是一个代码示例:
recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setVideoSize(640,480);
recorder.setVideoFrameRate(30);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
这给了我错误“E/MediaRecorder:启动失败:-19'。 – 2015-01-26 14:47:39
这个答案值得更多upvotes – Bhargav 2015-10-29 06:58:34
我只希望他们会写(约VideoSize和PreviewSize)在他们的API文档。 – artsylar 2011-08-19 03:31:24
是不是setVideoSize()只是调用setPreviewSize()?也就是说,只要视频尺寸是支持的预览尺寸之一,它们最终仍会具有相同的值。 – artsylar 2011-08-20 01:35:49
什么是“params”? – Felix 2013-05-06 04:15:17