benthebest Posted December 13, 2011 Share Posted December 13, 2011 Bonjour, Voila j'ai un soucis : je tente d'enregistrer une image provenant de la preview de la camera, grace à la fonction callback onpreviewframe(). Mais j'ai une erreur : java.lang.UnsupportedOperationException: Unknown URI: content://media/external/images/media Pourtant, j'ai recopié le code d'un bouquin concernant l'enregistrement d'une image. Le voici : camera.setPreviewCallback(new PreviewCallback() { public void onPreviewFrame(byte[] _data, Camera _camera) { if(nbImages == 15) { ContentValues values = new ContentValues(); values.put(Media.TITLE, uuidUse + "_" + (++nbImages)); values.put(Media.DESCRIPTION, "Image prise par le telephone"); Uri uri = getContentResolver().insert( Images.Media.EXTERNAL_CONTENT_URI, values); OutputStream os; try { os = getContentResolver().openOutputStream(uri); os.write(_data); os.flush(); os.close(); } catch (FileNotFoundException e) { Log.e(getClass().getSimpleName(), "Fichier non trouvé à l'ecriture de l'image", e); } catch (IOException e) { Log.e(getClass().getSimpleName(), "Erreur E/S à l'enregistrement de l'image", e); } } else { ++nbImages; } } }); Avec ceci, la preview se lance puis provoque une erreur qui ferme la preview lorsque nbimages = 15. Je précise que j'ai bien rajouté la permission <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> Voila, si vous avez une idée je suis preneur :) Merci. Link to comment Share on other sites More sharing options...
Vicnet31 Posted December 15, 2011 Share Posted December 15, 2011 Salut, As-tu essayé avec un file:// direct sur /mnt/sdcard... Sur http://developer.android.com/guide/topics/providers/content-providers.html il y a un code légèrement différent concernant l'objet values. Link to comment Share on other sites More sharing options...
benthebest Posted December 15, 2011 Author Share Posted December 15, 2011 Ok je viens aux nouvelles :) Merci tout d abord pr ton aide. Alors la ça plante plus, je n'ai plus d'erreurs, ça crée bien un fichier jpeg mais je n'arrive pas à l'ouvrir ! Je crois qu'il est incomplet parce que [color=red]qd[/color] j'essaie de l'ouvrir sous photoshop ça me dit "Impossible d'ouvrir le fichier F:\DCIM\Camera\1234545345345.jpg" car le segment de marqueur JPEG est trop court (le fichier est peut-être incomplet ou tronqué)". Pourtant je fais bien un fclose à la fin de l’écriture ... Une idée ? Link to comment Share on other sites More sharing options...
benthebest Posted December 18, 2011 Author Share Posted December 18, 2011 Personne pour m'aider ? :( Bon, j'ai essayé une autre technique d'enregistrement : FileOutputStream os = null; try { //ICI ca ecrit mais la picture ne s'ouvre pas !!! os = new FileOutputStream(String.format("/sdcard/toto_%d.jpg", System.currentTimeMillis())); os.write(_data); os.flush(); os.close(); } catch (FileNotFoundException e) { Log.e(getClass().getSimpleName(), "Fichier non trouvé à l'ecriture de l'image", e); } catch (IOException e) { Log.e(getClass().getSimpleName(), "Erreur E/S à l'enregistrement de l'image", e); } Mais comme précisé ds le code, je ne comprends pas pourquoi je n'arrive pas à ouvrir le fichier, bien créé sur ma mémoire, sensé être une image ... Je suis sûre que ça ne doit pas être grand chose mais quoi ... Please Help me !! :) Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.