Bonjour,
Je voudrais savoir comment faire pour lancer un son wav avec java ???
Merci
Bonjour,
Je voudrais savoir comment faire pour lancer un son wav avec java ???
Merci
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); } }
Ma Chaine youtube : https://www.youtube.com/@medBkDev
Mes Articles
guide du débutant pour apprendre à programmer en Java -
FAQ Java et les cours et tutoriels Java
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
un exemple ici
Ma Chaine youtube : https://www.youtube.com/@medBkDev
Mes Articles
guide du débutant pour apprendre à programmer en Java -
FAQ Java et les cours et tutoriels Java
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.
Partager