2013-12-09 2 views
1

인 Android에 비디오를 기록하는 RuntimeException 해상도 640x360의 비디오를 녹화해야합니다 (또는이 방법으로 어떤 크기로 변환해야합니다). 그런 다음 필자는 Android Developer의 예제를 따라 내 자신의 카메라 작업을 구현하여 원하는 설정을 지정할 수 있습니다. 나는 비디오를 녹화 시작 버튼을 누르면 는하지만, 나는이 예외를 얻을 :사용자 정의 해상도가

mMediaRecorder.setVideoSize(640,360); 

내가 그것을 변경하는 경우 : 다음

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,480); 

그런 다음 정상적으로 작동합니다.

하지만 640x360의 비디오가 필요합니다. 그것을 할 방법이 있습니까? 또는 1280x720에서 640x360으로 동영상의 크기를 조정하는 방법은 무엇입니까?

Android 4.0 이상에서 실행됩니다.

미리 감사드립니다.

답변

1

임의의 해상도를 선택할 수 없습니다. 카메라 하드웨어가 지원하는 해상도 여야합니다. 카메라 해상도는 Camera.Parameters입니다.

동영상을 다른 해상도로 트랜스 코딩하도록 설계된 Android에는 아무것도 내장되어 있지 않습니다. ffmpeg과 같은 타사 옵션을 사용해보십시오.

+0

NDK에서 벗어나려고했지만 ...이 옵션이있는 것처럼 ... 여기에 ... 고마워! –