Prendre une Photo sans l'aperçu d'Android
Je voudrais prendre une photo sans aucun aperçu. J'ai utilisé ce code, mais j'obtiens une erreur:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Camera.Parameters parameters = camera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
camera.setParameters(parameters);
SurfaceView mview = new SurfaceView(getBaseContext());
try {
camera.setPreviewDisplay(mview.getHolder());
camera.startPreview();
camera.takePicture(null,null,photoCallback);
} catch (IOException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
}
Camera.PictureCallback photoCallback=new Camera.PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
Uri uriTarget = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, new ContentValues());
OutputStream imageFileOS;
try {
imageFileOS = getContentResolver().openOutputStream(uriTarget);
imageFileOS.write(data);
imageFileOS.flush();
imageFileOS.close();
Toast.makeText(AndroidTestJNIActivity.this, "Image saved: " + uriTarget.toString(), Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finish();
}
};
- Je obtenir un NullPointerException quand j'essaie d'accéder à la caméra. Je ne sais pas comment l'initialiser. Je pense que le problème est que la caméra n'est jamais initialisée.
05-29 14:40:20.330: E/AndroidRuntime(15571): FATAL EXCEPTION: main
05-29 14:40:20.330: E/AndroidRuntime(15571): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.achillessecurity.androidtestjni/com.achillessecurity.androidtestjni.AndroidTestJNIActivity}: java.lang.RuntimeException: Fail to connect to camera service
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1768)
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1784)
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread.access$1500(ActivityThread.java:123)
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.os.Handler.dispatchMessage(Handler.java:99)
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.os.Looper.loop(Looper.java:130)
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread.main(ActivityThread.java:3835)
05-29 14:40:20.330: E/AndroidRuntime(15571): at java.lang.reflect.Method.invokeNative(Native Method)
05-29 14:40:20.330: E/AndroidRuntime(15571): at java.lang.reflect.Method.invoke(Method.java:507)
05-29 14:40:20.330: E/AndroidRuntime(15571): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
05-29 14:40:20.330: E/AndroidRuntime(15571): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
05-29 14:40:20.330: E/AndroidRuntime(15571): at dalvik.system.NativeStart.main(Native Method)
05-29 14:40:20.330: E/AndroidRuntime(15571): Caused by: java.lang.RuntimeException: Fail to connect to camera service
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.hardware.Camera.native_setup(Native Method)
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.hardware.Camera.<init>(Camera.java:258)
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.hardware.Camera.open(Camera.java:235)
05-29 14:40:20.330: E/AndroidRuntime(15571): at com.achillessecurity.androidtestjni.AndroidTestJNIActivity.onCreate(AndroidTestJNIActivity.java:42)
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-29 14:40:20.330: E/AndroidRuntime(15571): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1722)
J'initialise appareil photo par:
camera= Camera.open();
postez votre journal des erreurs.
- je mettre à jour mon post avec la stacktrace
pourriez-vous m'aider ? J'ai besoin d'une application qui permet de capturer l'image avec l'appareil photo avant et arrière . J'ai essayer votre application, mais il ne fonctionne pas dans certains appareil !
C'est un thread vieux de 2 ans, une meilleure approche serait d'ouvrir un nouveau ou mettre le lien ici
pouvez-vous me montrer une meilleure approche !? Je ne peux pas trouver un bon échantillon pour prendre une photo en arrière-plan ! 🙁
- je mettre à jour mon post avec la stacktrace
pourriez-vous m'aider ? J'ai besoin d'une application qui permet de capturer l'image avec l'appareil photo avant et arrière . J'ai essayer votre application, mais il ne fonctionne pas dans certains appareil !
C'est un thread vieux de 2 ans, une meilleure approche serait d'ouvrir un nouveau ou mettre le lien ici
pouvez-vous me montrer une meilleure approche !? Je ne peux pas trouver un bon échantillon pour prendre une photo en arrière-plan ! 🙁
OriginalL'auteur 113408 | 2012-05-29
Vous devez vous connecter pour publier un commentaire.
Utiliser ce autorisations :
Et vous pouvez instancier un objet de Caméra à l'aide de cette
Vous pouvez essayer la méthode décrite ici est très simple, si vous êtes dans la simplicité:
http://developer.android.com/training/camera/photobasics.html
avez-vous définissez les autorisations dans votre fichier de manifeste ?
oui, bien sûr. je ne sais pas pourquoi il ne peut pas connecter la caméra à un service
vous avez raison, pour initialiser l'appareil photo que nous avons à faire
Camera.open()
et n'oubliez pas de fermer de l'appareil photo pour éviterFail to connect service
ErreurOriginalL'auteur opc0de
Android ne peut pas utiliser la caméra sans un aperçu... mais, vous pouvez définir la taille de l'aperçu comme 1x1 px, alors vous ne le voyez pas et vous pouvez utiliser l'appareil photo de toute façon.
OriginalL'auteur Radi
Concernant votre
Fail to initialize camera
erreur, une autre possibilité est que la caméra est en cours d'utilisation par quelque chose d'autre.OriginalL'auteur Sam