Andro Selva
Andro Selva

Reputation: 54322

Adding zoom features to camera crashes with Fatal Exception

Hi I am trying to make a camera with SurfaceView and Camera classes. Here everything works fine except for zoom feature. When I click on zoom before starting to record using the MediaRecorder it works but if I start recording and click on zoom it crashes. Here is my code. How do I go about adding zoom facility to my camera. Any help is much appreciated. Thanks.

This is my code to 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());

here is my 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)

Upvotes: 1

Views: 1400

Answers (1)

user936414
user936414

Reputation: 7634

Can you specify which version of android you are using? Zooming when recording video feature is added only in android 4.0.

Upvotes: 1

Related Questions