Torna indietro   Hardware Upgrade Forum > Software > Programmazione

WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort
Fino a 740 km WLTP con la batteria da 97,2 kWh, sospensioni che leggono la strada con una telecamera e un abitacolo da salotto parigino. La nuova DS N°7 raccoglie l'eredità della DS 7 e la porta, per la prima volta, nel mondo 100% elettrico. Ecco come è fatta, cosa offre e quanto costa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-07-2005, 21:40   #1
australopiteci
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
australopiteci è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 22:42   #2
Alvaro Vitali
Member
 
L'Avatar di Alvaro Vitali
 
Iscritto dal: Apr 2005
Messaggi: 224
Se ti interessa io ho realizzato una classe che realizza il tuo proposito, se vuoi te la mando...
Alvaro Vitali è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 23:02   #3
australopiteci
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
australopiteci è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 23:06   #4
Alvaro Vitali
Member
 
L'Avatar di Alvaro Vitali
 
Iscritto dal: Apr 2005
Messaggi: 224
mi dispiace la mia è solo per wav e aiff
Alvaro Vitali è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 23:11   #5
australopiteci
Member
 
Iscritto dal: Feb 2005
Messaggi: 127
va bene.. almeno i wav.. meglio di nulla..
__________________
the AUSTRALOPITECI
australopiteci è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 23:34   #6
Alvaro Vitali
Member
 
L'Avatar di Alvaro Vitali
 
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!
Alvaro Vitali è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 23:44   #7
australopiteci
Member
 
Iscritto dal: Feb 2005
Messaggi: 127
grazie 1000, lo provo subito
__________________
the AUSTRALOPITECI
australopiteci è offline   Rispondi citando il messaggio o parte di esso
Old 20-07-2005, 23:56   #8
australopiteci
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
australopiteci è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2005, 00:15   #9
Alvaro Vitali
Member
 
L'Avatar di Alvaro Vitali
 
Iscritto dal: Apr 2005
Messaggi: 224
Si l'ho fatto io studiando vari esempi (da cui ho preso i commenti come puoi notare ) presenti sul sito http://www.jsresources.org/, dedicato proprio alla Java Sound API.

Cosa intendi per convertire i midi in wav?
Sono due cose nettamente diverse, diciamo come un vettoriale sta ad una bitmap...
Alvaro Vitali è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2005, 00:20   #10
australopiteci
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
australopiteci è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2005, 09:48   #11
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Quote:
Originariamente inviato da australopiteci
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...
Per favore, mi indichi il programma che hai usato per la conversione pdf->doc??
eventualmente, esiste anche per convertire i pdf in .ppt???
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2005, 11:03   #12
australopiteci
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
australopiteci è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2005, 11:32   #13
fbcyborg
Senior Member
 
L'Avatar di fbcyborg
 
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
Ok, ti ringrazio
__________________
^ThE CyBoRg^
fbcyborg è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2007, 19:50   #14
Savio3000+
Senior Member
 
L'Avatar di Savio3000+
 
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
Savio3000+ è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2007, 20:50   #15
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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();
	}
}
Quel Thread.sleep andrebbe sostituito con un'attesa per un evento LineEvent di tipo LineEvent.Type.STOP, "beccato" da un LineEventListener aggiunto al clip. Nota che se vuoi riprodurre degli mp3 o degli ogg (tramite i plug-in per JavaSound che trovi in rete) Clip non funziona più e devi passare al modo complicato.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2007, 20:58   #16
Savio3000+
Senior Member
 
L'Avatar di Savio3000+
 
Iscritto dal: May 2004
Città: Paola(cs)
Messaggi: 3329
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
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();
	}
}
Quel Thread.sleep andrebbe sostituito con un'attesa per un evento LineEvent di tipo LineEvent.Type.STOP, "beccato" da un LineEventListener aggiunto al clip. Nota che se vuoi riprodurre degli mp3 o degli ogg (tramite i plug-in per JavaSound che trovi in rete) Clip non funziona più e devi passare al modo complicato.
hai msn? ti vorrei chiedere una cosa..
__________________
Il pinguino paga con
iPAD MINI 64GB WIFI+4G
iMAC 2,93GHZ 2009
iPhone 5 32 gb
MacBook Pro 2012 2,9ghz
Savio3000+ è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2007, 21:00   #17
Savio3000+
Senior Member
 
L'Avatar di Savio3000+
 
Iscritto dal: May 2004
Città: Paola(cs)
Messaggi: 3329
Quote:
Originariamente inviato da Savio3000+ Guarda i messaggi
hai msn? ti vorrei chiedere una cosa..
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
Savio3000+ è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2007, 21:02   #18
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2007, 21:04   #19
Savio3000+
Senior Member
 
L'Avatar di Savio3000+
 
Iscritto dal: May 2004
Città: Paola(cs)
Messaggi: 3329
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
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 .
ti volevo chiedere quello che hos critto su!
__________________
Il pinguino paga con
iPAD MINI 64GB WIFI+4G
iMAC 2,93GHZ 2009
iPhone 5 32 gb
MacBook Pro 2012 2,9ghz
Savio3000+ è offline   Rispondi citando il messaggio o parte di esso
Old 23-09-2007, 21:09   #20
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
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"
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
Una tassa di 5,5 centesimi su ogni gigab...
Vuoi clonare un videogioco con l'IA? Cla...
Furto da 6,3 miliardi di dollari, Binanc...
Gli USA dipendono dai robot stranieri: T...
Volkswagen non ha più soldi per l...
Telescopio spaziale Hubble: la NASA cerc...
Più sottile e potente: le nuove i...
Il JPL estende la vita operativa della s...
DAZN Full è in offerta: tutta la ...
GTA 6 su PC potrebbe arrivare prima del ...
Da zero al tracciato in secondi: LibreCo...
Il regista Rian Johnson lancia a 12,99 d...
Microsoft stravolge l'app Sicurezza di W...
Mercato smartphone in caduta libera: -20...
Android 17 QPR3 Beta 3 riporta il blocco...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v