Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

java.lang.RuntimeException: setParameters failed

Encounter Exception when running "OpenCV Sample - 15 puzzle" of OpenCV-2.4.6-android-sdk.

Tablet Android 4.0.3 failed. (Phone Android 2.2.1 Success.)

10-12 19:40:02.019: W/System.err(4412): java.lang.RuntimeException: setParameters failed 10-12 19:40:02.019: W/System.err(4412): at android.hardware.Camera.native_setParameters(Native Method) 10-12 19:40:02.019: W/System.err(4412): at android.hardware.Camera.setParameters(Camera.java:1295) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.JavaCameraView.initializeCamera(JavaCameraView.java:155) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.JavaCameraView.connectCamera(JavaCameraView.java:232) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.onEnterStartedState(CameraBridgeViewBase.java:355) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.processEnterState(CameraBridgeViewBase.java:318) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.checkCurrentState(CameraBridgeViewBase.java:311) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.enableView(CameraBridgeViewBase.java:228) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.samples.puzzle15.Puzzle15Activity$1.onManagerConnected(Puzzle15Activity.java:44) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.AsyncServiceHelper$1.onServiceConnected(AsyncServiceHelper.java:318) 10-12 19:40:02.019: W/System.err(4412): at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1068) 10-12 19:40:02.019: W/System.err(4412): at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1085) 10-12 19:40:02.019: W/System.err(4412): at android.os.Handler.handleCallback(Handler.java:605) 10-12 19:40:02.019: W/System.err(4412): at android.os.Handler.dispatchMessage(Handler.java:92) 10-12 19:40:02.019: W/System.err(4412): at android.os.Looper.loop(Looper.java:137) 10-12 19:40:02.019: W/System.err(4412): at android.app.ActivityThread.main(ActivityThread.java:4424) 10-12 19:40:02.019: W/System.err(4412): at java.lang.reflect.Method.invokeNative(Native Method) 10-12 19:40:02.019: W/System.err(4412): at java.lang.reflect.Method.invoke(Method.java:511) 10-12 19:40:02.019: W/System.err(4412): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 10-12 19:40:02.019: W/System.err(4412): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 10-12 19:40:02.019: W/System.err(4412): at dalvik.system.NativeStart.main(Native Method)

java.lang.RuntimeException: setParameters failed

Encounter Exception when running "OpenCV Sample - 15 puzzle" of OpenCV-2.4.6-android-sdk.

Tablet Android 4.0.3 failed. (Phone Android 2.2.1 Success.)

10-12 19:40:02.019: W/System.err(4412): java.lang.RuntimeException: setParameters failed 10-12 19:40:02.019: W/System.err(4412): at android.hardware.Camera.native_setParameters(Native Method) 10-12 19:40:02.019: W/System.err(4412): at android.hardware.Camera.setParameters(Camera.java:1295) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.JavaCameraView.initializeCamera(JavaCameraView.java:155) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.JavaCameraView.connectCamera(JavaCameraView.java:232) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.onEnterStartedState(CameraBridgeViewBase.java:355) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.processEnterState(CameraBridgeViewBase.java:318) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.checkCurrentState(CameraBridgeViewBase.java:311) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.enableView(CameraBridgeViewBase.java:228) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.samples.puzzle15.Puzzle15Activity$1.onManagerConnected(Puzzle15Activity.java:44) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.AsyncServiceHelper$1.onServiceConnected(AsyncServiceHelper.java:318) 10-12 19:40:02.019: W/System.err(4412): at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1068) 10-12 19:40:02.019: W/System.err(4412): at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1085) 10-12 19:40:02.019: W/System.err(4412): at android.os.Handler.handleCallback(Handler.java:605) 10-12 19:40:02.019: W/System.err(4412): at android.os.Handler.dispatchMessage(Handler.java:92) 10-12 19:40:02.019: W/System.err(4412): at android.os.Looper.loop(Looper.java:137) 10-12 19:40:02.019: W/System.err(4412): at android.app.ActivityThread.main(ActivityThread.java:4424) 10-12 19:40:02.019: W/System.err(4412): at java.lang.reflect.Method.invokeNative(Native Method) 10-12 19:40:02.019: W/System.err(4412): at java.lang.reflect.Method.invoke(Method.java:511) 10-12 19:40:02.019: W/System.err(4412): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 10-12 19:40:02.019: W/System.err(4412): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 10-12 19:40:02.019: W/System.err(4412): at dalvik.system.NativeStart.main(Native Method)


Got it. My tablet scrren is 800444, the supported scrren of camera is 640480, so the code below is not working. CameraBridgeViewBase.calculateCameraFrameSize

    protected Size calculateCameraFrameSize(List<?> supportedSizes, ListItemAccessor accessor, int surfaceWidth, int surfaceHeight) {
    int calcWidth = 0;
    int calcHeight = 0;

    int maxAllowedWidth = (mMaxWidth != MAX_UNSPECIFIED && mMaxWidth < surfaceWidth)? mMaxWidth : surfaceWidth;
    int maxAllowedHeight = (mMaxHeight != MAX_UNSPECIFIED && mMaxHeight < surfaceHeight)? mMaxHeight : surfaceHeight;

    for (Object size : supportedSizes) {
        int width = accessor.getWidth(size);
        int height = accessor.getHeight(size);
        if (width <= maxAllowedWidth && height <= maxAllowedHeight) {
            if (width >= calcWidth && height >= calcHeight) {
                calcWidth = (int) width;
                calcHeight = (int) height;
            }
        }
    }

    return new Size(calcWidth, calcHeight);
}

java.lang.RuntimeException: setParameters failed

Encounter Exception when running "OpenCV Sample - 15 puzzle" of OpenCV-2.4.6-android-sdk.

Tablet Android 4.0.3 failed. (Phone Android 2.2.1 Success.)

10-12 19:40:02.019: W/System.err(4412): java.lang.RuntimeException: setParameters failed 10-12 19:40:02.019: W/System.err(4412): at android.hardware.Camera.native_setParameters(Native Method) 10-12 19:40:02.019: W/System.err(4412): at android.hardware.Camera.setParameters(Camera.java:1295) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.JavaCameraView.initializeCamera(JavaCameraView.java:155) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.JavaCameraView.connectCamera(JavaCameraView.java:232) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.onEnterStartedState(CameraBridgeViewBase.java:355) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.processEnterState(CameraBridgeViewBase.java:318) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.checkCurrentState(CameraBridgeViewBase.java:311) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.CameraBridgeViewBase.enableView(CameraBridgeViewBase.java:228) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.samples.puzzle15.Puzzle15Activity$1.onManagerConnected(Puzzle15Activity.java:44) 10-12 19:40:02.019: W/System.err(4412): at org.opencv.android.AsyncServiceHelper$1.onServiceConnected(AsyncServiceHelper.java:318) 10-12 19:40:02.019: W/System.err(4412): at android.app.LoadedApk$ServiceDispatcher.doConnected(LoadedApk.java:1068) 10-12 19:40:02.019: W/System.err(4412): at android.app.LoadedApk$ServiceDispatcher$RunConnection.run(LoadedApk.java:1085) 10-12 19:40:02.019: W/System.err(4412): at android.os.Handler.handleCallback(Handler.java:605) 10-12 19:40:02.019: W/System.err(4412): at android.os.Handler.dispatchMessage(Handler.java:92) 10-12 19:40:02.019: W/System.err(4412): at android.os.Looper.loop(Looper.java:137) 10-12 19:40:02.019: W/System.err(4412): at android.app.ActivityThread.main(ActivityThread.java:4424) 10-12 19:40:02.019: W/System.err(4412): at java.lang.reflect.Method.invokeNative(Native Method) 10-12 19:40:02.019: W/System.err(4412): at java.lang.reflect.Method.invoke(Method.java:511) 10-12 19:40:02.019: W/System.err(4412): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 10-12 19:40:02.019: W/System.err(4412): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 10-12 19:40:02.019: W/System.err(4412): at dalvik.system.NativeStart.main(Native Method)


Got it. My tablet scrren is 800800-444, -444, the supported scrren of camera is 640640-480, -480, so the code below is not working. CameraBridgeViewBase.calculateCameraFrameSize

    protected Size calculateCameraFrameSize(List<?> supportedSizes, ListItemAccessor accessor, int surfaceWidth, int surfaceHeight) {
    int calcWidth = 0;
    int calcHeight = 0;

    int maxAllowedWidth = (mMaxWidth != MAX_UNSPECIFIED && mMaxWidth < surfaceWidth)? mMaxWidth : surfaceWidth;
    int maxAllowedHeight = (mMaxHeight != MAX_UNSPECIFIED && mMaxHeight < surfaceHeight)? mMaxHeight : surfaceHeight;

    for (Object size : supportedSizes) {
        int width = accessor.getWidth(size);
        int height = accessor.getHeight(size);
        if (width <= maxAllowedWidth && height <= maxAllowedHeight) {
            if (width >= calcWidth && height >= calcHeight) {
                calcWidth = (int) width;
                calcHeight = (int) height;
            }
        }
    }

    return new Size(calcWidth, calcHeight);
}