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

Java ME Discussion :

MMAPI - lecture d'un mpeg


Sujet :

Java ME

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut MMAPI - lecture d'un mpeg
    Je développe en ce moment une petit appli. utilisant chargée de récupérer via http différents médias puis de lire selon le format récupéré. Pour l'instant j'arrive à lire correctement des midi, wav et afficher des images type gif. Par contre mon appli. n'arrive pas à lire les mpeg - que ca soit sous NETBEANS (je n'ai que du son à partir d'un mpeg récupéré via un Inputstream) ou sur un vrai mobile où j'obtiens les exceptions suivantes :

    0: javax.microedition.media.MediaException
    1: java.lang.IllegalStateException: Can't invoke the method at the unrealized state
    voici les extraits de mon code où ca bug :

    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    void play(String url){
            try{
                System.out.println(url);
                //travail sur le dur
                //InputStream is=getClass().getResourceAsStream("/anovo/mpeg.mpeg");
                try {
                    //player = Manager.createPlayer(is,"video/mpeg");
                    player = Manager.createPlayer(url);
                    //System.out.println(player.getContentType());
                    display.append("createPlayer() for "+url+" OK");
                } catch (IOException ex) {
                    ex.printStackTrace();
                    display.append(ex.toString()+"\n");
                    display.append("createPlayer() for "+url+" FAILED");
                } catch (MediaException ex) {
                    ex.printStackTrace();
                    display.append(ex.toString()+"\n");
                    display.append("createPlayer() for "+url+" FAILED");
                }
                try {
                    player.prefetch();
                    player.realize();
                } catch (MediaException ex) {
                    ex.printStackTrace();
                    display.append("0: "+ex.toString()+"\n");
                }
                
                if (player.getContentType().substring(0,5).compareTo("audio")==0) {
                    try {
                        player.start();
                        display.append("Lecture...");
                    } catch (MediaException ex) {
                        ex.printStackTrace();
                        display.append(ex.toString());
                    }
                }
                
                if (player.getContentType().substring(0,5).compareTo("image")==0) {
                    display_image(player);
                }
                
                if (player.getContentType().substring(0,5).compareTo("video")==0) {
                    display_video(player);
                }
                
            } catch (Throwable et){
                //exception générée par le mpeg capturée ici
                et.printStackTrace();
                display.append("1: "+et.toString()+"\n");
                //reset();
            }
        }
    
        private void display_image(Player p) {
            try {
                VideoControl vc;
                // Grab the video control and set it to the current display.
                vc = (VideoControl)p.getControl("VideoControl");
                if (vc != null) {
                    //Form form = new Form("video");
                    display.append((Item)vc.initDisplayMode(vc.USE_GUI_PRIMITIVE, null));
                    //Display.getDisplay(this).setCurrent(form);
                }
                p.setLoopCount(-1);
                p.start();
                
            } catch (MediaException me) {
                display.append(me.toString());
            }
        }
        
        private void display_video(Player p) {
            try {
                VideoControl vc;
                // Grab the video control and set it to the current display.
                vc = (VideoControl)p.getControl("VideoControl");
                if (vc != null) {
                    //Form form = new Form("video");
                    display.append((Item)vc.initDisplayMode(vc.USE_GUI_PRIMITIVE, null));
                    //Display.getDisplay(this).setCurrent(form);
                }
                p.start();
            } catch (MediaException me) {
                display.append("2"+me.toString());
            }
        }
    Si qqun pouvait m'aider, merci !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Par défaut
    tu as inversé:
    player.realize();
    player.prefetch();

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut
    Merci de ta réponse mais ca n'as rien changé .

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut
    Par ailleurs même avec la mmapiDemo fournie avec le WTK 2.5 les fichiers vidéos (mpeg, avi, h263, etc) ne sont pas lus !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 18
    Par défaut
    oui le wtk ne lit pas la video...
    essaye Manager.getSupportedContentType(null); pour obtenir la liste des medias utilisables

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 15
    Par défaut
    ouaip c'est ce que j'ai fait avant de choisir quel type de média lire et le video/mpeg était supporté donc bon ca vient de mon programme c'est quasi-certain je pense.

Discussions similaires

  1. lecture de video mpeg
    Par improcess dans le forum Images
    Réponses: 9
    Dernier message: 12/07/2011, 08h18
  2. Lecture d'une vidéo MPEG
    Par melissouille dans le forum OpenCV
    Réponses: 2
    Dernier message: 19/03/2010, 00h50
  3. Gravure Mpeg pour lecture sur lecteur DVD de salon
    Par faamugol dans le forum Vidéo
    Réponses: 7
    Dernier message: 15/03/2008, 23h20
  4. Lecture d'une image bitmap
    Par Geronimo dans le forum x86 32-bits / 64-bits
    Réponses: 18
    Dernier message: 28/06/2002, 12h01
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 10h24

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