|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 127
|
[java] qualcuno mi sa dire come inserire un file da suonare in questo programma?
Salve a tutti
ho trovato questo codice su google ma non riesco a far suonare nessun file non capisco cosa si debba mettere in input.. ho provato a mettere il nome del file ad es. "prova.wav" ma mi da un errore.. poi ho provato anche a mettere il percorso completo, ad es. "c:\prova.wav" ma niente lo stesso.. Qualcuno mi saprebbe dire come si faccia? Codice:
import javax.swing.*;
import javax.sound.sampled.*;
import java.io.*;
public class SoundClass extends JFrame {
File sf = null;
Clip ol = null;
public void stop() { if (ol != null) ol.stop();}
public SoundClass() { }
public void play (String filename) {
AudioFileFormat aff;
AudioInputStream ais;
sf = new File(filename);
if (sf.exists()) {
try {
aff=AudioSystem.getAudioFileFormat(sf);
ais=AudioSystem.getAudioInputStream(sf);
AudioFormat af=aff.getFormat();
DataLine.Info info = new DataLine.Info(Clip.class,ais.getFormat(),((int)ais.getFrameLength()*af.getFrameSize()));
ol = (Clip) AudioSystem.getLine(info);
ol.open(ais);
if (ol != null) {
ol.setFramePosition(0);
ol.loop(0); //ol.loop(Clip.LOOP_CONTINUOUSLY);
}
}
catch(UnsupportedAudioFileException ee){}
catch(IOException ea){}
catch(LineUnavailableException LUE){};
}
else System.out.println("errore lettura " + filename);
}
}
__________________
the AUSTRALOPITECI |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2005
Messaggi: 224
|
Se ti interessa io ho realizzato una classe che realizza il tuo proposito, se vuoi te la mando...
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 127
|
mi faresti davvero un grosso favore!
a me mi serve una classe per riprodurre midi e wav, non questa in particolare.. quindi va benissimo.. l'importante è che funzioni
__________________
the AUSTRALOPITECI |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Apr 2005
Messaggi: 224
|
mi dispiace la mia è solo per wav e aiff
|
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 127
|
va bene.. almeno i wav.. meglio di nulla..
__________________
the AUSTRALOPITECI |
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Apr 2005
Messaggi: 224
|
Ok eccoti il tutto:
waveplayer ci sono i sorgenti della classe in questione (WAVE.java) ed un main minimale (WavePlayer.java) che ti fa vedere come usare la classe. Inoltre puoi vedere subito come funziona lanciando il jar... In generale cmq è molto semplice: // crei un oggetto WAVE WAVE wave = new WAVE(); // "carichi" il file da suonare tramite la sua path e se tutto è andato ok lo suoni con play if (wave.init("path")) wave.play(); // qualcosa è andato storto visualizza l'errore else System.out.println(wave.error); Per stoppare: wave.stop(); Per settare in loop : wave.setLoop(true/false); e poi ci sono altri metodi vari, spero ti possa aiutare...Ciao! |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 127
|
grazie 1000, lo provo subito
__________________
the AUSTRALOPITECI |
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 127
|
funziona!!!
ma l'hai fatto tu? p.s. in caso non trovi altri programmi simili mi converto i midi in wav e sono ok, giusto? ora provo ad adattare il codice al mio..
__________________
the AUSTRALOPITECI |
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Apr 2005
Messaggi: 224
|
Si l'ho fatto io studiando vari esempi (da cui ho preso i commenti come puoi notare
Cosa intendi per convertire i midi in wav? Sono due cose nettamente diverse, diciamo come un vettoriale sta ad una bitmap... |
|
|
|
|
|
#10 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 127
|
intendo dire che in caso non riesca a trovare un progr che riproduca i midi, uso un programma che converta files da midi a wav.. impossiile che non ne esista uno che faccia questo.. dopo che ho visto che è possibile convertire un pdf in .doc ho capito che non c'è nulla d'impossibile al mondo
p.s. ti metto tra i credits allora, ok? .. e do un occhiata al sito.. magari trovo qualcosa d'interessante...
__________________
the AUSTRALOPITECI |
|
|
|
|
|
#11 | |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
Quote:
eventualmente, esiste anche per convertire i pdf in .ppt??? |
|
|
|
|
|
|
#12 |
|
Member
Iscritto dal: Feb 2005
Messaggi: 127
|
ora sono in un altro pc e quindi non ho il nome esatto, comunque è un programma commerciale, prova a cercare su google qualcosa del tipo pdf to doc converter... se magari mi viene il nome ti faccio sapere..
non era il massimo quel programma comunque l ho usato..
__________________
the AUSTRALOPITECI |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
Ok, ti ringrazio
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: May 2004
Città: Paola(cs)
Messaggi: 3329
|
ragazzi mi date per favore quel file per far partire i wave? :|
__________________
Il pinguino paga con ![]() iPAD MINI 64GB WIFI+4G iMAC 2,93GHZ 2009 iPhone 5 32 gb MacBook Pro 2012 2,9ghz |
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Ti faccio un esempio stringato:
Codice:
import javax.sound.sampled.*;
import java.io.*;
public class SimplePlayer {
public static void main(String[] args) throws Throwable {
File audioFile = new File(args[0]);
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(audioFile));
clip.start();
Thread.sleep(5000);
clip.close();
}
}
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: May 2004
Città: Paola(cs)
Messaggi: 3329
|
Quote:
__________________
Il pinguino paga con ![]() iPAD MINI 64GB WIFI+4G iMAC 2,93GHZ 2009 iPhone 5 32 gb MacBook Pro 2012 2,9ghz |
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: May 2004
Città: Paola(cs)
Messaggi: 3329
|
Exception in thread "main" java.io.FileNotFoundException: Immagini\Suoni\uccelliverde.wav (Impossibile trovare il percorso specificato)
Ecco ... il problema è 1) se voglio passarlo in quel modo l' url e non con c:\etc.. senno' nel .jar poi non me lo vede, come fare? 2) come faccio a farlo andare in loop?
__________________
Il pinguino paga con ![]() iPAD MINI 64GB WIFI+4G iMAC 2,93GHZ 2009 iPhone 5 32 gb MacBook Pro 2012 2,9ghz |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Non uso msn nè icq. Se vuoi puoi mandarmi una mail: [email protected] ma se chiedi sul forum ci sono più persone che possono risponderti o più persone che possono giovarsi della risposta
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: May 2004
Città: Paola(cs)
Messaggi: 3329
|
Quote:
__________________
Il pinguino paga con ![]() iPAD MINI 64GB WIFI+4G iMAC 2,93GHZ 2009 iPhone 5 32 gb MacBook Pro 2012 2,9ghz |
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
C'è un getAudioInputStream di AudioSystem che accetta un URL. Ad esempio puoi provare con:
URL url = Main.class.getResource("/immagini/suoni/uccelliverde.wav"); Qui il percorso che salta fuori dipende dai percorsi letti dal ClassLoader e include gli eventuali JAR che fanno parte del programma. Per farlo andare in loop: clip.loop(Clip.LOOP_CONTINUOSLY); Ricorda che c'è sempre il "problema Thread": il suono viene eseguito in un Thread demone, cioè un Thread che schiatta quando la JVM termina. E' una cosa poco problematica nel caso di un programma "normale" perchè o c'è il Thread EDT (quello che gestisce la GUI) o un thread diverso che mantiene in vita il programma. EDIT: ci vuole uno slash davanti a "immagini"
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! Ultima modifica di PGI-Bis : 23-09-2007 alle 21:15. Motivo: ci vuole uno slash davanti a "immagini" |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:43.






















