Android :: How To Build A Appliication With Camera Preview But Not Fullscreen
Jun 29, 2009I see the ApiDemos src. But it is fullscreen, i try to build one but it crashed.
java file:
CODE:................
I see the ApiDemos src. But it is fullscreen, i try to build one but it crashed.
java file:
CODE:................
I'm trying to get the camera preview running on my G2.
This is the code I'm testing with, which was taken from the sample code. It is using supplemental code supplied by Wu-Cheng, but its still throwing an error.
CODE:......................
I have a problem with using the camera of an Android 2.1 phone (HTC Desire), maybe you can help me.
After calling camera.open() DDMS in Eclipse shows the following errors:
CODE:............
Test view in the emulator works fine, but on my phone only a popup is shown where I only can close the application.
I upgraded to the 2.0 SDK yesterday. Don't know if that has anything to do with it. I can't get the Camera Preview example from the API Demos to work. I get the same error in both my emulator and on my G1:
E/AndroidRuntime( 4758): java.lang.RuntimeException: Fail to connect to camera service.
Is it possible to capture an image without showing the camera preview?, i have a requirement that i should be able to capture the image from a thread or from a service, without disturbing the foreground application, where i do not want to show the camera preview, but still i want to capture the image in background and store it in the device. So is it possible to do using the Android 2.2 SDK version?
View 3 Replies View RelatedAnybody know about the camera Api in android.when i used this Api it displayed a black and white grids and a squre moving above it.Anyone know how to get a real time camera preview please help me with some code.
View 2 Replies View RelatedI have a requirement to Capture the image without showing the Preview.. And i want to do it in the Background as a Service. Is it possible to do that?
View 2 Replies View RelatedI see a couple of threads on this topic, but none of them seem to answer the question, so, I'm giving it another go...
Very simple idea... I want to some portion of the screen to preview (and shoot) the camera and the other portions of the screen to add my own graphical elements (buttons, colorful frame around the camera preview, etc).
The example that comes with Android fills the screen. The obvious solution (that doesn't seem to be working) is to use my own SurfaceView (rather than the one they do in the example) and have it sitting in my XML. The code (beneath) doesn't crash and reports that it's firing up the camera... it just never renders on the screen.
I have no idea what I'm doing incorrectly. My guess is that it has something to do with the display thread never having the urge to redraw anything after it renders the initial screen, but I even tried adding a button and initiating the camera to render on the surface view upon button click, but that has not provoked it any further.
(most of this code is pulled directly out of the Android sample code, so, I'm sure it's correct. I'm just doing something wrong in how I pull my View in after the fact, I think).
CODE:........................
In my Application the camera preview is working properly in both in portrait and in landscape mode. No crashes are occurring, but the users are complaining that the crashes are occurring when they are using the same.
View 1 Replies View RelatedLet's say in my example I am working with SurfaceView for my CameraSurfaceView. I have a few questions, hope you can help me.
1. When this SurfaceView gets created (I assume via final CameraSurfaceView cameraView = new CameraSurfaceView (getApplicationContext()), this will result in a call createSurface() in SurfaceFlinger with format, width and height. Am I correct?
Is this SurfaceView also my UI window if I want to draw anything? I thought if I call setType(PUSH_BUFFER) on this surface, I won't be able to do any drawing on this surface.
2. How does the application pass these information like format, width and height to SurfaceFlinger for the allocation? Is it by using .setFormat, .setFixedSize?
3. How do they methods .setFormat, .setFixedSize related to the surfaceHolder.surfaceChanged() callback?
So I started with this little write-up. I wanted to try to make an application that will take pictures while running in the background. To start though I wanted an application that once opened would simply take a picture every X seconds. After recreating the classes and methods show in the walk through below I ran into a few problems.
http://itp.nyu.edu/~sve204/mobilemedia_spring10/androidCamera101.pdf
For starters its seems that the onCreate function sets up all the objects for the application, but if you try to take a picture through any other method than onClick (IE directly calling it) the application actually hasn't setup the canvas or the preview yet.
My first question:
Is there any conditional method that you can setup that will wait till all the "onCreate" objects are created and their associated methods are called and finished? How do I wait for the application to finish putting together my surface and starting the cameras preview before automatically starting to take pictures?
My second question:
I am required to have a preview available to take pictures. Is there anyway to push this application to the back (IE running in the background) while still taking pictures? Is drawing to a canvas a requirement? (From what I can tell AFAIK, you are required to have a surfaceholder to start preview, when you put up another screen or application that pauses the current application and closes the surface/canvas you were presenting that preview on). If my understanding is correct on all of this the best I will be able to do is make a 1x1 pixel canvas that will still take up the screen due to the application being in the foreground.
My Third question:
Is there any way around this? Can you still utilize the camera in some fashion without requiring the preview be drawn?
I've a problem with Camera Preview Zoom. The methods present in Android 2.2, setZoom() is not working to zoom the preview. Is there any another way to do the Zoom in android? I am using the code present in the Android API Demos. Is their any body who has worked on implementing ZoomIn & ZoomOut and got succeed??
View 4 Replies View RelatedI have yet to try this on an actual device, but expect similar results. Anyway, long story short, whenever I run my app on the emulator, it crashes due to an out of memory exception.
My code really is essentially the same as the camera preview API demo from google, which runs perfectly fine.
The only file in the app (that I created/use) is as below-
CODE:.......
When camera is launched in portrait mode, the viewfinder screen is 90 degrees rotated and stretched out. I read couple of places that this is a known bug with sdk1 but i am still finding this problem with cupcake. Has anyone having any idea is this issue is fixed in cupcake or in donut? any clues how to move ahead. setOrientation and changing the preview size didn't help. Even I read somewhere Surface flinger class needs change: http://groups.google.com/group/android-framework/browse_thread/thread...
View 3 Replies View RelatedI am using the code from ApiDemo Camera Preview and it runs fine on my Gphone but the preview is rotated and stretched.
View 8 Replies View RelatedDoes someone know how I can overlay an image over the camera preview?
View 6 Replies View RelatedI am writing an android 1.5 application which starts just after boot-up. This is a service and should take a picture without preview. This app will log the light density in some areas whatever. I was able to take a picture but the picture was black.
After googling like crazy, i came across a bug thread about it. If you don't generate a preview, the image will be black since android camera needs preview to setup exposure and focus. I've created a surfaceview and listener but the onSurfaceCreated event never gets fired.
I guess the reason is, the surface is not being created visually. I've also seen some examples of calling the camera statically with MediaStore.CAPTURE_OR_SOMETHING which takes a picture and saves in the desired folder with two lines of code but it doesn't take a picture too.
Do i need to use ipc and bindservice to call this function or do you have any suggestion to achieve my goal (taking a picture without preview) and if so, would you give me a small piece of code as example?
I'm trying the camera preview
This is my code and it doesn't throw any error, but the screen still black, any ideas?
this.setContentView(R.layout.camerapreview);
SurfaceView cameraSurface = (SurfaceView)findViewById(R.id.cpPreview);
SurfaceHolder holder = cameraSurface.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
this.camera = Camera.open();
this.camera.setPreviewDisplay(holder);
this.camera.startPreview();}
I have an app which uses the Camera, sending the preview to a SurfaceHolder. Everything works fine on the HTC Desire that I have been developing on, but when I run it on a Samsung Galaxy S the image from the preview is rotated 90 degrees.
The code attempts to match the best Size returned from the parameters.getSupportedPreviewSizes(), with the width and height of the Surface (as passed into SurfaceChanged as width and height).
(the image is also rotated on the Galaxy when an image is taken from the app). Has anyone else had problems with the preview on the Galaxy? Or better yet got around the problems?
I am interested in putting some simple graphics (lines, a bit of text, etc) over a live camera preview.
I've looked at the examples, and fiddled around a bunch, but just don't see how to do it.
The examples use a GLSurfaceView as a camera preview surface, but in that mode the view apparently cannot be drawn on. They also fill the whole screen with it. I tried putting it in a normal layout, rather that setting it as the content view, but it does't work.
Anyone know how to: 1) draw graphics over a camera preview when it is the whole view for the activity? 2)do the same thing with a camera preview in a layout shared with other (small) views?
Our application displays a camera preview and it seems to work fine on all phones except for the Motorola Droid where we get a runtime exception when we set the camera parameters:
CODE:.........
Here is the code for surfaceChanged() which is mostly taken from APIDemos
CODE:......
Does anyone know what is wrong with how we are setting the parameters that would be causing the exception on the Motorola Droid?
I have a SurfaceView and a GLSurfaceView inside a FrameLayout. The first SurfaceView is used for camera preview, and the GlSurfaceView is for drawing 3D objects that are supposed to be on top of the camera preview.
So natually, I compose the xml like this:
CODE:...........
Unfortunetly, this doesn't work. 3D objects can not be seen. I found later that it only works when the order of the 2 views is reversed, which means:
CODE:..........
The reversed ui works fine, for a while... Everything is OK when the app has a fresh start. But when I press home to go back to the desktop and then click on the icon again to resume the app, 3D objects are gone. Then I reverse the ui again, like before, no 3D objects. But when I press home and then resume the app, they appeared!
My conclusions are: The order of the 2 surface view are wrong in the fresh start, but when the app is resumed from another task, they are set back to their normal order.
I am trying to set a camera preview in a custom SurfaceView but I get an exception each time I execute the initialization method.
View 4 Replies View RelatedI have some questions regarding the code below for camera preview application.
1. How does surfaceCreated() and CreateSurface() relate? Is this surface created via createSurface() from SurfaceFlinger client to SurfaceFlinger server? If so, there must be 2 buffers (frame buffers from display driver if there is how acceleration or if it is the emulator, it will be from ashmem) associated with this surface: surface BB (for composition) and surface FB (for display).
2. How does the rendering buffer (frame buffer BB and frame buffer FB) get allocated in the camera preview application? Are they allocated by the application?
3. How does this surface relate to the preview buffers? Are the preview buffers allocated by the Camera Service during startPreview?
private class CameraSurfaceView extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder mHolder; private Camera camera = null;
public CameraSurfaceView(Context context) { super(context);
mHolder = getHolder(); mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
} public void surfaceCreated(SurfaceHolder holder) {
camera = Camera.open(); try {
camera.setPreviewDisplay(mHolder);
} catch (Exception e) { Log.e("Camera", "Failed to set camera preview display", e);
} } }
When do you expect it to get fixed? I am a developer working on http://layar.eu and I had to go through lot of trouble to get the app working in portrait mode with camera preview, using a LOT of rotations. I have managed to get everything rotated to portrait except for the on screen inputmethod which still shows up in landscape. Do you have any suggestions for rotating that?
View 9 Replies View RelatedI'd like my app to run on both Android versions 2.1 and 2.2. In one area of my app, there is a portrait-style camera - the process for producing a portrait camera preview is different (as far as I know) on the two OS versions. Here is how:
2.1:
Camera.Parameters parameters = camera.getParameters();
parameters.set("orientation", "portrait");
camera.setParameters(parameters);
2.2:
camera.setDisplayOrientation(90);
The setDisplayOrientation(int) method became available in API Level 8 (2.2) and, so, cannot be used on 2.1; however, using the 2.1 (Camera.Parameters) method does not rotate the preview and image correctly on 2.2. It seems odd that this incompatibility exists - is there a more correct way to do this that will allow me to target both platforms?
I'm using the Camera.PreviewCallback.onPreviewFrame to try to generate a bitmap from the byte array passed to that method. If I use BitmapFactory.decodByteArray it returns null. I'm assuming that the array is correctly formatted since the data just comes right from the camera, so what could the problem be?
View 9 Replies View RelatedToday I tried the sample code to get the camera preview working
(http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.html)
But the image looks distorted when I start the application on my Galaxy S.
After a few weeks on market with my app (Ghosts AR) I found few interesting issues coming from the users who installed the program. On some of the devices my application fails with exception:
java.lang.RuntimeException: Out of memory at android.hardware.Camera.native_setup(Native Method) at android.hardware.Camera.<init>(Camera.java:82) at android.hardware.Camera.open(Camera.java:64)
Strange that I'm personally never got it on my G1 (1.5 firmware).
How do I write code which layouts UI elements (Buttons, etc) over camera preview on Android ?
View 2 Replies View Related