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

AWT/Swing Java Discussion :

Pouvoir distinguer entre deux sorties audio.


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 217
    Par défaut Pouvoir distinguer entre deux sorties audio.
    Bonjour,

    Je voudrais savoir comment faire pour lancer un son wav avec java ???

    Merci

  2. #2
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Salut,
    tu dois travailler avec l'API javaSound sinon je te propose ce 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
    import java.io.*; 
    import javax.sound.sampled.*; 
    
    public class sound { 
    
    private AudioFormat format; 
    private byte[] samples; 
    
    public sound(String filename){ 
    try{ 
    AudioInputStream stream = AudioSystem.getAudioInputStream(new File(filename)); 
    format = stream.getFormat(); 
    samples = getSamples(stream); 
    } 
    catch (UnsupportedAudioFileException e){ 
    e.printStackTrace(); 
    } 
    catch (IOException e){ 
    e.printStackTrace(); 
    } 
    } 
    
    public byte[] getSamples(){ 
    return samples; 
    } 
    
    public byte[] getSamples(AudioInputStream stream){ 
    int length = (int)(stream.getFrameLength() * format.getFrameSize()); 
    byte[] samples = new byte[length]; 
    DataInputStream in = new DataInputStream(stream); 
    try{ 
    in.readFully(samples); 
    } 
    catch (IOException e){ 
    e.printStackTrace(); 
    } 
    return samples; 
    } 
    
    public void play(InputStream source){ 
    // 100 ms buffer for real time change to the sound stream 
    int bufferSize = format.getFrameSize() * Math.round(format.getSampleRate() / 10); 
    byte[] buffer = new byte[bufferSize]; 
    SourceDataLine line; 
    try{ 
    # DataLine.Info info = new DataLine.Info(SourceDataLine.class, format); 
    line = (SourceDataLine)AudioSystem.getLine(info); 
    line.open(format, bufferSize); 
    } 
    catch (LineUnavailableException e){ 
    e.printStackTrace(); 
    return; 
    } 
    line.start(); 
    try{ 
    int numBytesRead = 0; 
    while (numBytesRead != -1){ 
    numBytesRead = source.read(buffer, 0, buffer.length); 
    if (numBytesRead != -1) 
    line.write(buffer, 0, numBytesRead); 
    } 
    } 
    catch (IOException e){ 
    e.printStackTrace(); 
    } 
    line.drain(); 
    line.close(); 
    } 
    
    public static void main(String[] args){ 
    sound player = new sound("beep.wav"); 
    InputStream stream = new ByteArrayInputStream(player.getSamples()); 
    player.play(stream); 
    System.exit(0); 
    } 
    }         

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 217
    Par défaut
    Merci pour ta réponse, j'ai résolu le problème, par contre j'ai un autre problème pas très fréquent, alors voila j'ai créer un programme qui émet du son, sur mon pc j'ai deux sorties audio. Ce que je veux faire c'est pouvoir choisir entre les deux sorties.

    Alors pour l'instant, j'ai deux choix, je ne sais pas pour lequel opter, ceci dépendra des solutions logicielles qui existent :

    Soit au niveau du programme, préciser une sortie, soit émettre le son sur les deux sorties et mettre une sortie sur muet.

    N'hésiter pas à me poser des questions pour plus de précisions sur mon problème.

    Merci

  4. #4
    Membre Expert
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Par défaut
    Citation Envoyé par asoka13 Voir le message

    Soit au niveau du programme, préciser une sortie
    un exemple ici

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2005
    Messages
    217
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 217
    Par défaut
    Merci

    Mais ta réponse concerne le mono ou le stéréo, moi je voulais utiliser deux port de sortie audio, mais bon ça pourrais faire l'affaire, donc je vais essayer ta solution.

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

Discussions similaires

  1. Communication audio entre deux ordinateurs
    Par milanista91989 dans le forum MATLAB
    Réponses: 2
    Dernier message: 07/04/2012, 17h12
  2. Reboucher une entré audio sur une sortie audio
    Par rolfone dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 24/04/2010, 22h10
  3. [Débutant] calcul d'une réponse impulsionnelle entre deux enregistrements audio
    Par patrick7413 dans le forum Signal
    Réponses: 1
    Dernier message: 07/09/2009, 17h15
  4. Rediriger entrée micro vers sortie audio
    Par Viggen0020 dans le forum Windows Vista
    Réponses: 1
    Dernier message: 28/05/2009, 10h53
  5. redirection d'entrées/sorties entre deux processus
    Par sunmat dans le forum Bibliothèque standard
    Réponses: 1
    Dernier message: 16/11/2008, 15h35

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