こんにちは、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)
質問にlogCatを追加できますか? – SERPRO
logcatエラーログを追加しました –