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

avec Java Discussion :

Comment utiliser javax.sound.samplet.*;


Sujet :

avec Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Comment utiliser javax.sound.samplet.*;
    Bonjour je voudrai ajouter un son wav dans mon programme qui s'active lorsque le JRadioButton "son" soit activé et j'ai trouver l'importation de sound.samplet pour les sons , le problème est que je ne sais pas comment déclarer avec cet import.

  2. #2
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Salut,

    L'API JavaSound est d'assez bas niveau, t'es pas rendu même pour jouer un son WAV (PCM). Tu peux allez faire un tour sur jsresources.org. Sinon, il y a moyen de faire cela très facilement avec un objet Clip, c'est indiqué dans la FAQ (mais seul les formats non compressés peuvent être utilisés).

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    merci mais le probleme c'est que je ne travail pas en applet je le fait en java application sur eclipse !

  4. #4
    Membre expérimenté
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Points : 1 340
    Points
    1 340
    Par défaut
    Citation Envoyé par kikoulolmen Voir le message
    merci mais le probleme c'est que je ne travail pas en applet je le fait en java application sur eclipse !
    Le Clip n'est pas propre aux applets et peux être utilisé dans un contexte d'application multi-fenêtrée.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    merci pour l'exemple Hervé mais je souhaiterai un son de fond durant le jeu
    et qui s'activerai une fois mon JRadioButton cliqué pas un son a chaque fois que je joue !

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    merci vizi je vais essayer

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 171
    Points : 163
    Points
    163
    Par défaut
    J'utilise cette classe pour les clip audio qui marche bien. Très inspirée du livre de Deitel et Deitel mais modifiée.
    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
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    class LanceSon implements LineListener {
     
      	AudioInputStream fluxSonore;// Flux d'entrÈe audio.
    	Clip clip;  // Ligne pour les clips.
       	File fichierSonore;// Fichier sonore.
       	FloatControl sampleRateControl;//Autres
       	public boolean rejouer = false;// Valeur boolean indiquant une reprise du fichier audio.
     
    	/* Constructeur de LecteurDeClip.*/
       public LanceSon (File fichierSonore){
          	this.fichierSonore = fichierSonore;
       		}
     
      /* Ouvrir le fichier et renvoyer true si succËs.*/
       public boolean ouvrirFichier(){
          // Obtenir le flux audio du fichier.
          try {
             fluxSonore =
                AudioSystem.getAudioInputStream( fichierSonore );
          	}
     
          // Ex si fichier audio non supportÈ par JavaSound.
          catch ( UnsupportedAudioFileException audioException ) {
          		System.out.println("Exception1");//par exemple
             	return false;
          	}
     
          // Si erreur d'entrÈe-sortie lors de l'obtention du flux.
          catch ( IOException ioException ) {
             	System.out.println("Exception2");//par exemple
             	return false;
          	}
     
          // Invoquer chargerClip et renvoie true si le chargement rÈussit.
          return chargerClip();
     
       }  /*fin de la mÈthode ouvrirFichier*/
     
       /* Charger le clip sonore.*/
       public boolean chargerClip () {
     
       	// Obtenir la ligne de clip pour le fichier.
          try {
     
    			// Obtenir le format audio du fichier sonore.
             AudioFormat formatAudio = fluxSonore.getFormat();
     
    			// DÈfinir les informations de ligne selon le type de ligne,
    			// le codage et la taille en trames du fichier audio.
             DataLine.Info infosLigneDonnees = new DataLine.Info(
                Clip.class, AudioSystem.getTargetFormats(
                   AudioFormat.Encoding.PCM_SIGNED, formatAudio ),
                   formatAudio.getFrameSize(),
                   formatAudio.getFrameSize() * 2 );
     
    			// S'assurer que le systËme supporte la ligne des donnÈes.
             if ( !AudioSystem.isLineSupported( infosLigneDonnees ) ) {
    			System.out.println("Fichier audio non supportÇ!");
                return false;
             }
     
    			// Obtenir les ressources de la ligne de clip.
             clip = ( Clip ) AudioSystem.getLine( infosLigneDonnees );
     
    			// …couter les ÈvÈnements sur la ligne de clip.
             clip.addLineListener( this );
     
    			// Ouvrir clip audio et obtenir ressources systËme requises.
             clip.open( fluxSonore );
     
          }		// fin du try
     
    			// Si ressources de la ligne non disponibles.
          catch ( LineUnavailableException noLineException ) {
             	System.out.println("Exception3");
             	return false;
          }
     
    			// Si erreur d'entrÈe-sortie durant l'interprÈtation des donnÈes audio.
          catch ( IOException ioException ) {
             	System.out.println("Exception4");
             	return false;
          }
     
    			// Si fichier audio chargÈ avec succËs.
          return true;
     
       }  // fin de la mÈthode chargerClip
     
    			/* DÈmarrer la lecture du clip audio.*/
       public void lecture() {
       		clip.start();    	
      		}/*appelle cette méthode pour lancer la lecture, une fois le clip audio chargé.*/
     
    		/*Ecouteur de ligne qui permet d'arreter ou de rejouer a la fin du clip.*/
       public void update( LineEvent lineEvent ) {
          // Si le clip est terminÈ, fermer le clip.
          if ( lineEvent.getType() == LineEvent.Type.STOP && 
             !rejouer )
             close();
     
    			// Si le mode rejouer est en marche, rejouer le clip continuellement.
          else
     
             if ( lineEvent.getType() == LineEvent.Type.STOP &&  
                rejouer ) {
    			// Rejouer le clip continuellement.
                clip.loop( Clip.LOOP_CONTINUOUSLY );
                }
       		}
     
    		/*Accord du sample, pour le transposer dans le grave, valeurs inferieures a 48 000*/
    	public void accord(float ValeurSampleRate){
    		float sampleRate = ValeurSampleRate;
    		FloatControl sampleRateControl = (FloatControl) clip
                        .getControl(FloatControl.Type.SAMPLE_RATE);
            sampleRateControl.setValue(sampleRate);
     
            }
     
    		/*Volume du sample*/
       public void volume(float ValeurVolume){
       		float ContVol = ValeurVolume;
       		FloatControl VolumeControl = (FloatControl) clip
                        .getControl(FloatControl.Type.MASTER_GAIN);
            VolumeControl.setValue(ContVol);
       }
     
     
     
       		/*Panoramique*/		
       	public void pan(float ValeurPan){
       		float ContPan = ValeurPan;
       		FloatControl PanControl = (FloatControl) clip
                        .getControl(FloatControl.Type.PAN);
            PanControl.setValue(ContPan);
            //Les valeurs de panoramique vont de -1 ‡ 1.
       }
     
     
     
       /*DÈfinir si le clip doit Ítre rejouÈ.*/
       public void setRejouer( boolean valeur ){
          rejouer = valeur;
       }
     
       /*ArrÍter et fermer le clip, puis libÈrer les ressources systËme.*/
       public void close() {   		
          if ( clip != null ) {
             clip.stop();
             clip.close();
          }
       }
     
    }  			/*fin de la classe LanceSon*/
    Avec cela, tu peux faire pas mal de choses.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    ok merci je fais tester

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment utiliser ALSA(Advanced Linux Sound Architecture)
    Par mmaximum dans le forum API graphiques
    Réponses: 1
    Dernier message: 23/03/2008, 07h24
  2. Utilisation de javax.sound sous windows 98 ?
    Par marmotte dans le forum Multimédia
    Réponses: 1
    Dernier message: 29/11/2006, 13h00
  3. Comment utiliser la procédure Sound ?
    Par 'ti programmeur dans le forum Pascal
    Réponses: 4
    Dernier message: 20/11/2006, 06h54
  4. Comment utiliser OUT ?
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 3
    Dernier message: 20/07/2002, 09h35
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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