Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-07-2005, 20: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, 21: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, 22: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, 22: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, 22: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, 22: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, 22: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, 22: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 20-07-2005, 23: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 20-07-2005, 23: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, 08: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, 10: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, 10: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, 18: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, 19: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, 19: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, 20: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, 20: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, 20: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, 20: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 20:15. Motivo: ci vuole uno slash davanti a "immagini"
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Il CEO di Microsoft chiede una supervisi...
Dreame T15 Pro Heat, aspira la polvere e...
Apple rilascia iOS 27, iPadOS 27 e macOS...
DDRop, l'attacco hardware da meno di 200...
LG OLED G6 55'' a 1.368€ e LG NANO 98'' ...
OpenRGB 1.0 arriva dopo tre anni: una so...
OpenAI paga centinaia di revisori per le...
Opel scarica l'adrenalina elettrica al S...
Volkswagen Mission Efficiency: Cd di 0,1...
Dreame L10s Pro Gen 3 a 179€: ottimo pre...
I Samsung Galaxy S24 ricevono la One UI ...
Google Drive, prende il via il programma...
TempGuard: la protezione di ASRock fa ci...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
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: 09:21.


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