1. Russel, 06.04.2011 #1
    Russel

    Russel Threadstarter Neuer Benutzer

    Hallo!

    Wenn ich ein Foto mit der Front Kamera meines Samsung Galaxy S schieße, bekomm ich ein grünes Bild. Ich benutze eine SurfaceView um auf die Kamera zuzugreifen. Die Preview wird korrekt angezeigt. Mit der normalen Back Kamera funktioniert alles.

    Warum funktioniert das selbe nicht bei der Front Kamera? :angry:

    Hier ist mein PictureCallback:

    Code:
        
    
    public void onIvButtonShutterClick(View view) {
    
        PictureCallback pictureCallback = new PictureCallback() {
    
            @Override
            public void onPictureTaken(byte[] data, Camera camera) {
                try {
                    File picture = new File(My_Camera.this.getFilesDir()
                            + "/bild.jpg");
                    FileOutputStream pictureOut = new FileOutputStream(picture);
                    pictureOut.write(data);
                    pictureOut.flush();
                    pictureOut.close();
                    Toast.makeText(
                            My_Camera.this,
                            getResources().getString(
                                    R.string.tx_my_camera_save)
                                    + "\n" + picture.getAbsolutePath(),
                            Toast.LENGTH_SHORT).show();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                //mCamera.startPreview(); // Preview wird weiter ausgeführt
            }
        };
    
        mCamera.takePicture(null, null, pictureCallback);
    }
    und so greif ich auf die Front Kamera zu:

    Code:
        @Override
    public void surfaceChanged(SurfaceHolder holder, int format, int width,
            int height) {
    
            mParameters = mCamera.getParameters();
    
            mParameters.set("camera-id", 2);
            mParameters.setPictureFormat(PixelFormat.JPEG);
            mCamera.setDisplayOrientation(270);
            mCamera.setParameters(mParameters);
            mCamera.startPreview();
    }
    
    Gibt es sonst noch eine andere Möglichkeit Fotos zu schießen oder habt ihr eine Idee an was es liegen kann?