Setting camera parameters on Android 2.2.2 fixed. Old Android does not support contin...
authorAlexander Smorkalov <no@email>
Tue, 10 Apr 2012 09:02:50 +0000 (09:02 +0000)
committerAlexander Smorkalov <no@email>
Tue, 10 Apr 2012 09:02:50 +0000 (09:02 +0000)
samples/android/tutorial-0-androidcamera/src/org/opencv/samples/tutorial0/SampleViewBase.java
samples/android/tutorial-1-addopencv/src/org/opencv/samples/tutorial1/SampleViewBase.java
samples/android/tutorial-3-native/src/org/opencv/samples/tutorial3/SampleViewBase.java
samples/android/tutorial-4-mixed/src/org/opencv/samples/tutorial4/SampleViewBase.java

index cf31d5f..084092f 100644 (file)
@@ -71,9 +71,15 @@ public abstract class SampleViewBase extends SurfaceView implements SurfaceHolde
             }
 
             params.setPreviewSize(getFrameWidth(), getFrameHeight());
-            params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
+            
+            List<String> FocusModes = params.getSupportedFocusModes();
+            if (FocusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO))
+            {
+               params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
+            }            
+            
             mCamera.setParameters(params);
-
+            
             /* Now allocate the buffer */
             params = mCamera.getParameters();
             int size = params.getPreviewSize().width * params.getPreviewSize().height;
index 9c734e6..4515976 100644 (file)
@@ -71,7 +71,13 @@ public abstract class SampleViewBase extends SurfaceView implements SurfaceHolde
             }
 
             params.setPreviewSize(getFrameWidth(), getFrameHeight());
-            params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
+
+            List<String> FocusModes = params.getSupportedFocusModes();
+            if (FocusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO))
+            {
+               params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
+            }
+            
             mCamera.setParameters(params);
 
             /* Now allocate the buffer */
index bd7fb8c..d220eda 100644 (file)
@@ -70,7 +70,13 @@ public abstract class SampleViewBase extends SurfaceView implements SurfaceHolde
             }
 
             params.setPreviewSize(getFrameWidth(), getFrameHeight());
-            params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
+
+            List<String> FocusModes = params.getSupportedFocusModes();
+            if (FocusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO))
+            {
+               params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
+            }
+
             mCamera.setParameters(params);
 
             /* Now allocate the buffer */
index f0d8bf6..446f28e 100644 (file)
@@ -70,7 +70,13 @@ public abstract class SampleViewBase extends SurfaceView implements SurfaceHolde
             }
 
             params.setPreviewSize(getFrameWidth(), getFrameHeight());
-            params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
+            
+            List<String> FocusModes = params.getSupportedFocusModes();
+            if (FocusModes.contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO))
+            {
+               params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
+            }
+            
             mCamera.setParameters(params);
 
             /* Now allocate the buffer */