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或更高版本上運行。
提前致謝!
我試圖擺脫NDK,但是...因爲這裏有這個選項...在這裏我去...謝謝! –