View Full Version : [JAVA]Riproduzione file audio: librerie da importare
Lord_Brisingr
09-06-2015, 13:42
Salve a tutti, vorrei riprodurre un file audio .wmv di pochi secondi attraverso un programma avviato dal terminale. il codice è il seguente:
AudioInputStream audio = AudioSystem.getAudioInputStream("clip.wmv");
Clip clip = AudioSystem.getClip();
clip.open(audio);
clip.loop(1);
Vorrei sapere da voi, quali sono le librerie da importare per farlo funzionare? Grazie a tutti.
Daniels118
09-06-2015, 14:53
Occorre importare le classi che utilizzi nel codice, ovvero AudioSystem, AudioInputStream e Clip, si trovano tutte nel package javax.sound.sampled.
Puoi anche importare tutte le classi del package con l'asterisco.
ero fermo alle jmf che a stento eseguivano file .mp3, esistono poi le native che permettono sotto windows di eseguire molti piu' codec ma non sono pure java...se proprio proprio devi lancia un process mplayer e gestisci tutto da li...
http://www.hwupgrade.it/forum/showpost.php?p=31768400&postcount=52 tipo questa cosa qui...
Daniels118
09-06-2015, 15:25
E' una soluzione interessante, comunque esistono implementazioni java pure per decodificare diversi formati audio.
Lord_Brisingr
09-06-2015, 16:35
Ora mi dà questo errore e non riesco a capire che genere di errore sia.
Lord_Brisingr
09-06-2015, 17:11
nella foto c'è un errore: il file da riprodurre è un .wma ma l'ho modificato solo dopo aver fatto la foto, per questo è riportato un .wmv
stai passando ad un metodo una variabile stringa al posto di un inputstream...
Lord_Brisingr
09-06-2015, 20:47
Dovrei passare solamente il nome e l'estensione del file?
Fally ha detto che devi creare un InputStream partendo dal nome del file da riprodurre e poi passarlo al metodo del tuo AudioInputStream.
Lord_Brisingr
10-06-2015, 22:45
Così?
public class Main{
public static void main(String[] ArgV){
FileInputStream A = new FileInputStream(drumhorn.wav);
AudioInputStream audio = AudioSystem.getAudioInputStream(A);
Clip clip = AudioSystem.getClip();
clip.open(audio);
}
}
Scusate ma trovo difficoltà con questo codice banale
Lord_Brisingr
10-06-2015, 22:55
Mi ero dimenticato della gestione dell'eccezioni :P
public class Main{
public static void main(String[] ArgV){
try{
File B = new File("drumhorn.wav");
InputStream A = new FileInputStream(B);
AudioInputStream audio = AudioSystem.getAudioInputStream(A);
Clip clip = AudioSystem.getClip();
clip.open(audio);
}
catch(Exception E)
{}
}
}
Ora però non mi riproduce l'audio
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.