summaryrefslogtreecommitdiff
path: root/src/com/example/rotorm
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/example/rotorm')
-rw-r--r--src/com/example/rotorm/MainActivity.java65
1 files changed, 61 insertions, 4 deletions
diff --git a/src/com/example/rotorm/MainActivity.java b/src/com/example/rotorm/MainActivity.java
index c88d6fd..5039dc9 100644
--- a/src/com/example/rotorm/MainActivity.java
+++ b/src/com/example/rotorm/MainActivity.java
@@ -4,6 +4,7 @@ package com.example.rotorm;
import java.io.File;
import java.io.IOException;
import java.util.Date;
+import java.util.List;
import com.example.rotorm.R;
@@ -28,7 +29,7 @@ public class MainActivity extends Activity implements Callback {
@Override
protected void onDestroy() {
- //stopRecording();
+ stopRecording();
super.onDestroy();
}
@@ -98,6 +99,56 @@ public class MainActivity extends Activity implements Callback {
protected void startPreview() throws IOException {
//http://stackoverflow.com/questions/12098298/android-camera-app-passed-null-surface
+ //http://developer.android.com/training/camera/cameradirect.html
+
+ if (mCamera!=null){
+ Log.e("Rotor", "Nulling camera");
+ mCamera.stopPreview();
+ mCamera.setPreviewCallback(null);
+ mCamera.release();
+ mCamera=null;
+ }
+
+ if(mCamera == null){
+ mCamera = Camera.open();
+ Log.e("Rotor", "Setting up camera");
+
+ /*
+ Camera.Parameters parameters = mCamera.getParameters();
+ //get a list of supported preview sizes and assign one
+ List<Camera.Size> previewSizes = parameters.getSupportedPreviewSizes();
+ Camera.Size previewSize = previewSizes.get(0);
+ parameters.setPreviewSize(previewSize.width, previewSize.height);
+ //Set Frame rate
+ parameters.setPreviewFrameRate(25);
+ //Set Scene
+ List<String> modes = parameters.getSupportedSceneModes();
+ parameters.setSceneMode(modes.get(0));
+ //Set focus mode
+ List<String> focus = parameters.getSupportedFocusModes();
+ parameters.setFocusMode(focus.get(0));
+
+
+ */
+
+
+
+
+
+ Camera.Parameters parameters = mCamera.getParameters();
+ parameters.setPreviewSize(1280,720);
+ parameters.setPreviewFrameRate(25);
+ parameters.setSceneMode(Camera.Parameters.SCENE_MODE_SPORTS);
+ parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
+ parameters.setColorEffect(Camera.Parameters.EFFECT_NONE);
+ mCamera.setParameters(parameters);
+
+ //Apply parameters to camera object
+ mCamera.setParameters(parameters);
+ Log.e("Rotor", "Camera configured");
+ }
+
+
if(mCamera==null) mCamera = Camera.open();
setContentView(R.layout.main);
@@ -108,9 +159,15 @@ public class MainActivity extends Activity implements Callback {
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
- //mCamera.lock();
- //mCamera.unlock();
-
+ mCamera.lock();
+ mCamera.unlock();
+
+ ////crashes on nexus 10
+ //09-07 15:36:21.850: E/AndroidRuntime(5418): java.lang.RuntimeException: getParameters failed (empty parameters)
+
+ //Start the preview
+ Log.e("Rotor", "Starting preview");
+ //mCamera.setPreviewCallback(new cam_PreviewCallback());
mCamera.setPreviewDisplay(surfaceHolder);
mCamera.startPreview();