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

Multimédia Java Discussion :

[JMF] Soucis avec GainControl


Sujet :

Multimédia Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut [JMF] Soucis avec GainControl
    Hello,

    J'essaie de faire un player simple mais je m'arrache les cheveux vace GainControl. Je lis de partout qu'il faut que je sois a l'état Realized pour récupérer le GainControl.

    Mais impossible de le faire marcher.

    Voici mon code

    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
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    package lecteur;
     
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Container;
    import java.io.File;
    import java.io.IOException;
     
    import javax.media.CannotRealizeException;
    import javax.media.ControllerEvent;
    import javax.media.ControllerListener;
    import javax.media.Manager;
    import javax.media.NoPlayerException;
    import javax.media.Player;
    import javax.media.RealizeCompleteEvent;
    import javax.swing.JFileChooser;
    import javax.swing.JFrame;
     
    public class MainWindows extends JFrame implements ControllerListener 
    {
    	private Player audioPlayer = null ;
    	private File fichier = null ;
    	private Container content = null ;
     
     
    	//Constructeur
    	public MainWindows() throws IOException,NoPlayerException, CannotRealizeException
    	{
    		//Initialisation de la fenêtre
    		this.setTitle("Mon player");
    		this.setSize(300, 150);
    		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
     
    		//Récupération du contentPane
    		content = this.getContentPane() ;
    		content.setLayout(new BorderLayout()) ;
     
    		//Récupération d'un fichier
    		fichier = this.openAFile() ;
     
    		//Création du player
    		audioPlayer = Manager.createPlayer(fichier.toURI().toURL());
    		audioPlayer.addControllerListener(this);
     
    		this.setVisible(true);
    	}
     
    	public void play() 
    	{
    		audioPlayer.start();
    	}
     
    	public void stop()
    	{
    		audioPlayer.stop();
    		audioPlayer.close();
    	}
     
        // Ouvrir fichier
        public File openAFile()
        {      
           JFileChooser choixFichier = new JFileChooser();
     
           choixFichier.setFileSelectionMode(JFileChooser.FILES_ONLY );
           // Ouvre explorer, retourne sous forme dentier la selection
           int resultat = choixFichier.showOpenDialog( this );
     
           // Utilisateur clique sur le bouton Annuler dans le dialogue.
           if ( resultat == JFileChooser.CANCEL_OPTION )
              fichier = null;
           else
              fichier = choixFichier.getSelectedFile();
     
           return fichier;
        }
     
    	public static void main(String[] args)
    	{
    		try
    		{
    			MainWindows test = new MainWindows() ;
    			test.play() ;
    		} 
    		catch (NoPlayerException e)
    		{
    			e.printStackTrace();
    		} 
    		catch (CannotRealizeException e)
    		{
    			e.printStackTrace();
    		} 
    		catch (IOException e)
    		{
    			e.printStackTrace();
    		}
    	}
     
    	public synchronized void controllerUpdate(ControllerEvent event) 
        {
    		if(audioPlayer != null)
    		{	
    	    	if (event instanceof RealizeCompleteEvent) 
    		    {
    	    		Component controlPanel = null;
    	    		Component gainControl = null ;
     
    				if((controlPanel = audioPlayer.getControlPanelComponent()) != null)
    					content.add (controlPanel, BorderLayout.CENTER);
     
    				if((gainControl = audioPlayer.getGainControl().getControlComponent()) != null)
    					content.add (gainControl, BorderLayout.SOUTH);
     
    				content.validate();
    		    } 
    		}
       }
    }
    Il lance la chanson, il créé le player, mais IMPOSSIBLE d'afficher le GainControl (il me retourne null si j'fais le test).

    Je ne trouve pas de réponse pour résoudre mon problème.

    Et surtout quand je fais audioPlayer.getState() dans la fonction if (event instanceof RealizeCompleteEvent) il me retourne la valeur 400 qui correspond a Prefechted State et non pas Realize.

    Bref, je suis en train de fumer la, une âme charitable pourrait-elle m'aider svp ?

    Cordialement,

    Shad.

  2. #2
    Membre averti
    Inscrit en
    Août 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 13
    Par défaut
    Personne n'a la moindre petite idée pour me sortir de l'impasse ?

  3. #3
    Invité de passage
    Inscrit en
    Janvier 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 1
    Par défaut
    tu peut essayer avec Manager.createRealizedPlayer(url) au lieu de Manager.createPlayer(url) pour instancier ton player

Discussions similaires

  1. quelques soucis avec word 2000
    Par ramchou dans le forum Word
    Réponses: 3
    Dernier message: 06/09/2004, 18h13
  2. SOucis avec une reequete imbriquee
    Par Ni4k dans le forum Langage SQL
    Réponses: 6
    Dernier message: 30/03/2004, 08h56
  3. souci avec un algorithme
    Par slider16 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 22/03/2004, 17h17
  4. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 16h52
  5. Réponses: 4
    Dernier message: 16/02/2003, 12h16

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