Can you attach the logcat output?  Source code would also be helpful.

On Thu, Mar 12, 2009 at 9:18 AM, crowcasso <crowca...@gmail.com> wrote:
>
> Currently the above code is crashing for me (even after fixing the 3
> params instead of 2) when performing takePicture() with a IOException:
>
> W/System.err( 1470): java.io.IOException: takePicture failed
> W/System.err( 1470):    at android.hardware.Camera.native_takePicture
> (Native Method)
>
> I've written a different Camera application that crashes as well on
> takePicture(). Is this a known issue? Any suggestions?
>
>
> On Mar 10, 6:50 pm, Streets Of Boston <flyingdutc...@gmail.com> wrote:
>> Maybe this piece of code won't work, but i'm writing an app that
>> successfully uses thecamera.
>> No crashes :)  ...   ... so far ... :=)
>>
>> On Feb 17, 1:35 am, cindy <ypu01...@yahoo.com> wrote:
>>
>> > I tried google'scameraAPI sample code. I found there are 2 problems:
>> > 1> It only can take picture in Landscape orientation
>> > 2> After click the space "key", the application crashes. WOw:)
>>
>> > XML:
>> > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/
>> > android"
>> >     android:layout_width="fill_parent"
>> > android:layout_height="fill_parent"
>> >     android:orientation="vertical">
>> >     <SurfaceView android:id="@+id/surface"
>> >         android:layout_width="fill_parent"
>> > android:layout_height="10dip"
>> >         android:layout_weight="1">
>> >     </SurfaceView>
>> > </LinearLayout>
>> > Java code:
>> > /**
>> >  * Copyright (c) 2007, Google Inc.
>> >  *
>> >  * Licensed under the Apache License, Version 2.0 (the "License");
>> >  * you may not use this file except in compliance with the License.
>> >  * You may obtain a copy of the License at
>> >  *
>> >  *    http://www.apache.org/licenses/LICENSE-2.0
>> >  *
>> >  * Unless required by applicable law or agreed to in writing,
>> > software
>> >  * distributed under the License is distributed on an "AS IS" BASIS,
>> >  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> > implied.
>> >  * See the License for the specific language governing permissions
>> > and
>> >  * limitations under the License.
>> >  */
>>
>> > package com.android.cameraapitest;
>>
>> > import android.app.Activity;
>> > import android.content.Intent;
>> > import android.graphics.Canvas;
>> > import android.graphics.Paint;
>> > import android.graphics.PixelFormat;
>> > import android.graphics.Rect;
>> > import android.net.Uri;
>> > import android.os.Handler;
>> > import android.os.Message;
>> > import android.os.Bundle;
>> > import android.provider.MediaStore.Images;
>> > import android.provider.MediaStore.Video;
>> > import android.view.Menu;
>> > import android.view.MenuItem;
>> > import android.view.SurfaceHolder;
>> > import android.view.SurfaceView;
>> > import android.view.KeyEvent;
>> > import android.hardware.Camera;
>>
>> > import android.util.Log;
>>
>> > public class CameraApiTest extends Activity implements
>> > SurfaceHolder.Callback
>> > {
>> >     private static final String TAG = "CameraApiTest";
>> >    CameramCamera;
>> >     boolean mPreviewRunning = false;
>>
>> >     public void onCreate(Bundle icicle)
>> >     {
>> >         super.onCreate(icicle);
>>
>> >         Log.e(TAG, "onCreate");
>>
>> >         getWindow().setFormat(PixelFormat.TRANSLUCENT);
>>
>> >         setContentView(R.layout.camera_api_test);
>> >         mSurfaceView = (SurfaceView)findViewById(R.id.surface);
>>
>> >         mSurfaceHolder = mSurfaceView.getHolder();
>> >         mSurfaceHolder.addCallback(this);
>> >         mSurfaceHolder.setType
>> > (SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
>> >     }
>>
>> >     public boolean onCreateOptionsMenu(android.view.Menu menu) {
>> >         MenuItem item = menu.add(0, 0, 0, "goto gallery");
>> >         item.setOnMenuItemClickListener(new
>> > MenuItem.OnMenuItemClickListener() {
>> >             public boolean onMenuItemClick(MenuItem item) {
>> >                 Uri target = Uri.parse("content://media/external/
>> > images/media");
>> >                 Intent intent = new Intent(Intent.ACTION_VIEW,
>> > target);
>> >                 startActivity(intent);
>> >                 return true;
>> >             }
>> >         });
>> >         return true;
>> >     }
>>
>> >     @Override
>> >     protected void onRestoreInstanceState(Bundle savedInstanceState)
>> >     {
>> >         super.onRestoreInstanceState(savedInstanceState);
>> >     }
>>
>> >    Camera.PictureCallback mPictureCallback = new
>> >Camera.PictureCallback() {
>> >         public void onPictureTaken(byte[] data,Camerac) {
>> >             Log.e(TAG, "PICTURE CALLBACK: data.length = " +
>> > data.length);
>> >             mCamera.startPreview();
>> >         }
>> >     };
>>
>> >     public boolean onKeyDown(int keyCode, KeyEvent event)
>> >     {
>> >         if (keyCode == KeyEvent.KEYCODE_BACK) {
>> >             return super.onKeyDown(keyCode, event);
>> >         }
>>
>> >         if (keyCode == KeyEvent.KEYCODE_SPACE) {
>> >             mCamera.takePicture(null, mPictureCallback);
>> >             return true;
>> >         }
>>
>> >         return false;
>> >     }
>>
>> >     protected void onResume()
>> >     {
>> >         Log.e(TAG, "onResume");
>> >         super.onResume();
>> >     }
>>
>> >     protected void onSaveInstanceState(Bundle outState)
>> >     {
>> >         super.onSaveInstanceState(outState);
>> >     }
>>
>> >     protected void onStop()
>> >     {
>> >         Log.e(TAG, "onStop");
>> >         super.onStop();
>> >     }
>>
>> >     public void surfaceCreated(SurfaceHolder holder)
>> >     {
>> >         Log.e(TAG, "surfaceCreated");
>> >         mCamera =Camera.open();
>> >         //mCamera.startPreview();
>> >     }
>>
>> >     public void surfaceChanged(SurfaceHolder holder, int format, int
>> > w, int h)
>> >     {
>> >         Log.e(TAG, "surfaceChanged");
>>
>> >         // XXX stopPreview() will crash if preview is not running
>> >         if (mPreviewRunning) {
>> >             mCamera.stopPreview();
>> >         }
>>
>> >        Camera.Parameters p = mCamera.getParameters();
>> >         p.setPreviewSize(w, h);
>> >         mCamera.setParameters(p);
>> >         mCamera.setPreviewDisplay(holder);
>> >         mCamera.startPreview();
>> >         mPreviewRunning = true;
>> >     }
>>
>> >     public void surfaceDestroyed(SurfaceHolder holder)
>> >     {
>> >         Log.e(TAG, "surfaceDestroyed");
>> >         mCamera.stopPreview();
>> >         mPreviewRunning = false;
>> >         mCamera.release();
>> >     }
>>
>> >     private SurfaceView mSurfaceView;
>> >     private SurfaceHolder mSurfaceHolder;
>>
>> > }- Hide quoted text -
>>
>> > - Show quoted text -
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to