2011-09-29 6 views
0

내 애플 리케이션에서 나는 비디오를 캡처하고 sdcard에 저장합니다. 내 아래 코드는 API 수준 8 이후 잘 작동합니다.하지만 API 수준 8 (7) 아래에서 내 응용 프로그램을 실행하면 추락 얻을. 그것은 말합니다android에서 카메라 문제가

java.lang.NoClassDefFoundError : android.media.CamcorderProfile.

모든 버전/레벨로 내 앱을 실행하는 방법은 무엇입니까? CamcorderProfile 클래스의 대안은 무엇입니까?

내 코드

.............. 
    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT); 
    mediaRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); 
    CamcorderProfile camcorderProfile_HQ = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH); // NoClassDefFoundError: android.media.CamcorderProfile error occur here. 
    mediaRecorder.setProfile(camcorderProfile_HQ); 
    mediaRecorder.setOutputFile("/sdcard/myvideo.mp4"); 
    mediaRecorder.setMaxDuration(60000); 
    mediaRecorder.setMaxFileSize(5000000); 

    ..................... 

저를 도와주세요입니다. 미리 감사드립니다.

내 로그 캣 세부 사항 :

09-29 16:44:06.971: ERROR/AndroidRuntime(7800): java.lang.NoClassDefFoundError: android.media.CamcorderProfile 
09-29 16:44:06.971: ERROR/AndroidRuntime(7800):  at com.exercise.AndroidVideoCapture.AndroidVideoCapture.initMediaRecorder(AndroidVideoCapture.java:84) 
09-29 16:44:06.971: ERROR/AndroidRuntime(7800):  at com.exercise.AndroidVideoCapture.AndroidVideoCapture.onCreate(AndroidVideoCapture.java:28) 
09-29 16:44:06.971: ERROR/AndroidRuntime(7800):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
09-29 16:44:06.971: ERROR/AndroidRuntime(7800):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459) 
09-29 16:44:06.971: ERROR/AndroidRuntime(7800):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512) 
09-29 16:44:06.971: ERROR/AndroidRuntime(7800):  at android.app.ActivityThread.access$2200(ActivityThread.java:119) 
09-29 16:44:06.971: ERROR/AndroidRuntime(7800):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863) 
09-29 16:44:06.971: ERROR/AndroidRuntime(7800):  at android.os.Handler.dispatchMessage(Handler.java:99) 
09-29 16:44:06.971: ERROR/AndroidRuntime(7800):  at android.os.Looper.loop(Looper.java:123) 
09-29 16:44:06.971: ERROR/AndroidRuntime(7800):  at android.app.ActivityThread.main(ActivityThread.java:4363) 

............................

답변

3

당신은 사용할 수 있습니다 아래에 CamcorderProfile을 사용하고 있지 않으므로 CamcorderProfile이 (가) API 레벨 8부터 도입되었습니다.

mediaRecorder.setAudioSource (MediaRecorder.AudioSource.DEFAULT); mediaRecorder.setVideoSource (MediaRecorder.VideoSource.DEFAULT); mediaRecorder.setOutputFormat (MediaRecorder.OutputFormat.MPEG_4); mediaRecorder.setAudioEncoder (MediaRecorder.AudioEncoder.AMR_NB); mediaRecorder.setVideoEncoder (MediaRecorder.VideoEncoder.DEFAULT);

+0

감사합니다. 귀하의 코드를 실행하면 API 레벨 8에서 올바르게 작동합니다. 하지만 API 레벨 8 이하에서는 작동하지만 20 초 동안 비디오를 캡처하면 20 초 동안 빈 비디오가 재생됩니다. 도와주세요. –

+0

실제로 비디오 플레이어 문제입니다. –

관련 문제