可以通過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