2012-01-12 7 views
1

こんにちは、SurfaceViewクラスとCameraクラスでカメラを作成しようとしています。ここではズーム機能を除いてすべて正常に動作します。 MediaRecorderを使って録画を開始する前にズームをクリックすると機能しますが、録画を開始しズームをクリックするとクラッシュします。ここに私のコードです。カメラにズーム機能を追加するにはどうすればいいですか?どんな助けも大歓迎です。ありがとう。致命的な例外を使用してカメラのクラッシュにズーム機能を追加する

これはsmoothZoomに私のコードで、

zoomControls.setOnZoomInClickListener(new OnClickListener() { 

     public void onClick(View v) { 

      try 
      { 
      currentZoomLevel++; 
      myCamera.startSmoothZoom(currentZoomLevel); 


      }catch(IllegalArgumentException e) 
      { 
       currentZoomLevel--; 
       zoomControls.setIsZoomInEnabled(false); 
      } 
     } 
    }); 


    Parameters parameters = myCamera.getParameters(); 
    parameters.setFlashMode(getFlashModeSetting()); 
    myCamera.setParameters(parameters); 

    mediaRecorder = new MediaRecorder(); 
    myCamera.unlock(); 
    mediaRecorder.setCamera(myCamera); 
    mediaRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER); 
    mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); 
    mediaRecorder.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); 
    mediaRecorder.setOutputFile("/sdcard/myvideo.mp4"); 
    mediaRecorder.setPreviewDisplay(myCameraSurfaceView.getHolder().getSurface()); 

ここに私のlogactはあなたが使用しているアンドロイドのバージョンを指定することができ、

08-21 14:05:36.171: ERROR/AndroidRuntime(6426): FATAL EXCEPTION: main 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426): java.lang.RuntimeException: start smooth zoom failed 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at android.hardware.Camera.startSmoothZoom(Native Method) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at com.camvideocorder.CamVideoCorderActivity$2.onClick(CamVideoCorderActivity.java:95) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at android.view.View.performClick(View.java:2485) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at android.view.View$PerformClick.run(View.java:9089) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at android.os.Handler.handleCallback(Handler.java:587) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at android.os.Handler.dispatchMessage(Handler.java:92) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at android.os.Looper.loop(Looper.java:123) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at android.app.ActivityThread.main(ActivityThread.java:3806) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at java.lang.reflect.Method.invoke(Method.java:507) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
08-21 14:05:36.171: ERROR/AndroidRuntime(6426):  at dalvik.system.NativeStart.main(Native Method) 
+0

質問にlogCatを追加できますか? – SERPRO

+0

logcatエラーログを追加しました –

答えて

1

のですか?ビデオ機能を記録するときのズームはアンドロイド4.0でのみ追加されます。

+0

2.3でこれを試しています:( –

+0

これは可能ではないと思います2.3のカメラアプリにはこの機能がありません。 /www.addictivetips.com/mobile/whats-new-in-android-4-0-ice-cream-sandwich-feature-review/。 – user936414

+0

@ user936414 2.3.5で動作しているときに私のHTCがそれをどうやって行うのですか? ? –

関連する問題