2013-12-09 68 views
1

我必須錄製分辨率爲640x360的視頻(或以某種方式轉換爲此大小)。 然後,我按照Android Developer的示例執行我自己的相機活動,以便能夠設置我想要的設置。 但是,當我按下按鈕開始錄製視頻,我得到這個異常:RuntimeException在自定義分辨率下在Android上錄製視頻

12-09 19:30:18.679: E/MediaRecorder(8614): start failed: -19 
12-09 19:30:36.476: E/AndroidRuntime(8614): FATAL EXCEPTION: main 
12-09 19:30:36.476: E/AndroidRuntime(8614): java.lang.RuntimeException: start failed. 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at android.media.MediaRecorder.start(Native Method) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at com.autosonvideo.CameraManagerActivity$3.onClick(CameraManagerActivity.java:99) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at android.view.View.performClick(View.java:3558) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at android.view.View$PerformClick.run(View.java:14157) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at android.os.Handler.handleCallback(Handler.java:605) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at android.os.Handler.dispatchMessage(Handler.java:92) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at android.os.Looper.loop(Looper.java:137) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at android.app.ActivityThread.main(ActivityThread.java:4514) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at java.lang.reflect.Method.invoke(Method.java:511) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557) 
12-09 19:30:36.476: E/AndroidRuntime(8614):  at dalvik.system.NativeStart.main(Native Method) 

然後,我發現這是問題:

mMediaRecorder.setVideoSize(640,360); 

如果我將其更改爲:

mMediaRecorder.setVideoSize(640,480); 

然後,它工作正常。

但我需要一個640x360的視頻。有沒有辦法做到這一點?或者將視頻從1280x720「調整」到640x360的方式?

它將在Android 4.0或更高版本上運行。

提前致謝!

回答

1

您不能選擇任意分辨率 - 它必須是相機硬件支持的分辨率。您可以從Camera.Parameters找到相機分辨率。

Android沒有設計用於將視頻轉碼爲不同分辨率的設備。歡迎您探索第三方選項,例如ffmpeg

+0

我試圖擺脫NDK,但是...因爲這裏有這個選項...在這裏我去...謝謝! –

相關問題