diff options
| author | Tim Redfern <tim@eclectronics.org> | 2013-09-07 16:13:54 +0100 |
|---|---|---|
| committer | Tim Redfern <tim@eclectronics.org> | 2013-09-07 16:13:54 +0100 |
| commit | b515605e0bd15fbaa7b7dd978cf5b043184b7c43 (patch) | |
| tree | d8ac8b2b622a8b25eb1915dfe3b875df707c0502 /src/com/example/rotorm/MainActivity.java | |
| parent | 65bff27967c6791dd9ee488ed425be35f515b3e0 (diff) | |
crash on camera open
Diffstat (limited to 'src/com/example/rotorm/MainActivity.java')
| -rw-r--r-- | src/com/example/rotorm/MainActivity.java | 65 |
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(); |
