IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Enregistrer et visualiser une image d'une preview


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut Enregistrer et visualiser une image d'une preview
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    Voila, si vous avez une idée je suis preneur

    Merci.

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Bonjour

    Apparemment, cela vient du chemin (uri). Regarde sur ton mobile si ce chemin existe pour commencer!

    Il est possible que ce chemin existe seulement si tu as une carte SD (à confirmer)! Dans ce cas, il te faudra un test ou il faudra changer l'uri!

    Peut on avoir la ligne exacte de l'erreur?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    Merci David pour ta réponse,

    Alors en fait, je teste sur mon Nexus S qui ne possede pas de SDCard (il n'a que 16 Go en memoire interne) et le soucis est que j'ai essayé de tester avec Images.Media.INTERNAL_CONTENT_URI mais cela provoque aussi une erreur...

    Bizzarement, j'ai remarqué aussi que un fichier s'enregistrait bien (une nouvelle entrée apparait bien dans mon album) mais on ne peut pas l'ouvrir ...

    Pour ce qui est de la ligne, je pourrai te la confirmer ce soir Mais je suppose que c'est à l’écriture non ?

    Regarde sur ton mobile si ce chemin existe pour commencer!
    Tu as une idée de comment faire la chose ? (je ne connais vrt pas bien ma bécane )

    Merci

  4. #4
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Citation Envoyé par benthebest Voir le message

    Pour ce qui est de la ligne, je pourrai te la confirmer ce soir Mais je suppose que c'est à l’écriture non ?
    Je suppose aussi mais sais ton jamais

    Citation Envoyé par benthebest Voir le message
    Tu as une idée de comment faire la chose ? (je ne connais vrt pas bien ma bécane )

    Merci
    Bien sure, normalement, tu as une icone "fichier" sur ton mobile. Une fois que tu as cliqué dessus, tu cherches le chemin:
    /media/external/images/media
    Si il existe, euh ... je n'ai pas d'explication ca serait étrange!
    Sinon, ton erreur est logique, il essaye d'écrire dans un endroit qui n'existe pas. Ce chemin représente normalement la sd card et vu que tu en as pas ...!

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    Bien sure, normalement, tu as une icone "fichier" sur ton mobile. Une fois que tu as cliqué dessus, tu cherches le chemin:
    Euh, je ne trouve pas d’icône fichier

  6. #6
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Citation Envoyé par benthebest Voir le message
    Euh, je ne trouve pas d’icône fichier
    Il doit y avoir une autre icone alors! Du coup, branche le à ton ordinateur et tu verras l'arborescence!

Discussions similaires

  1. [Débutant] Manipulation d'images : intégrer une image dans une image
    Par noscollections dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2014, 11h51
  2. [Image]charger une image sur une page HTML
    Par Malo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/07/2006, 18h33
  3. Insérer une légende dans une image avec une police plus petite
    Par Paulinho dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 3
    Dernier message: 29/04/2006, 14h19
  4. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39
  5. VBA : copier une image d'une feuille excel à une autre
    Par Equus dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/12/2005, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo