Forum by laureateci.it
[ Home | REGOLE FORUM | Tutti i blog | Profilo | Registrati | CHAT | Discussioni Attive | Discussioni Recenti | Segnalibro | Msg privati | Sondaggi Attivi | Utenti | Download Informatica | Download ICD | Download TPS | Download Magistrale | Download Specialistica | Giochi | Cerca nel web | cerca | faq | RSS ]
Nome Utente:
Password:
Salva Password
Password Dimenticata?

 Tutti i Forum
 Cultura Informatica
 Corso di java
 [JAVA] riproduzione suono in un applicazione
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
I seguenti utenti stanno leggendo questo Forum Qui c'è:
Autore Discussione Precedente Discussione Discussione Successiva  

Vsilver17
Nuovo Utente

dd



Inserito il - 26/03/2009 : 15:19:50  Mostra Profilo  Visita l'Homepage di Vsilver17 Invia a Vsilver17 un Messaggio Privato  Rispondi Quotando
Salve a tutti. Il mio problema è relativo alla riproduzione di un file wav alla pressione di un tasto che deve essere premuto in più occasioni durante il gioco.
Sto utilizzando una classe "Sound" che fa uso delle Clip:
codice:

public Sound (String musica) {
		url=musica;
		sound=new File(url);
		time=100;
		try{

			aff=AudioSystem.getAudioFileFormat(sound);
			ais=AudioSystem.getAudioInputStream(sound);
			af=aff.getFormat();
			info=new DataLine.Info(Clip.class,ais.getFormat(),((int)ais.getFrameLength()*af.getFrameSize()));
			ol=(Clip)AudioSystem.getLine(info);
			ol.open(ais);

		}catch(UnsupportedAudioFileException ee){ee.printStackTrace();}
		catch(IOException ea){ea.printStackTrace();}
		catch(LineUnavailableException LUE){LUE.printStackTrace();};
	}


	public void playLoop() {

		try {

			ol.loop(Clip.LOOP_CONTINUOUSLY);

		}catch(Exception ea){
			System.out.println("suono interrotto");
		}
	}

	public synchronized void playAudioFile() {

		ol.start();

	}

	public synchronized void ferma() {
			ol.stop();
	}



Praticamente se all'interno dell'evento metto:
codice:

suonoDadi=new Sound("grafica/suoni/tiro_dadi.wav");
suonoDadi.playAudioFile();


il problema (o almeno credo sia un problema) è che ogni volta che si preme il tasto si alloca di volta in volta nuova memoria. Se invece metto la new nel costruttore e chiamo playAudioFile() all'interno dell'evento, riproduce il suono solo la prima volta che si preme il bottone e le successive rimane muto.
Cosa può essere???

genius
dott. ing. cav. ...FN

Genio


Regione: Puglia
Prov.: Bari
Città: Molfetta - Caput Mundi


Inserito il - 21/04/2009 : 14:41:25  Mostra Profilo  Visita l'Homepage di genius  Clicca per vedere l'indirizzo MSN di genius  Invia a genius un messaggio Yahoo! Invia a genius un Messaggio Privato  Rispondi Quotando
fai suonoDadi.ferma() prima di rifare il playAudioFile?

"...e se non hai morale
e se non hai passione
se nessun dubbio ti assale
perché la sola ragione che ti interessa avere
è una ragione sociale
soprattutto se hai qualche dannata guerra da fare
non farla nel mio nome
non farla nel mio nome
che non hai mai domandato la mia autorizzazione
se ti difenderai non farlo nel mio nome
che non hai mai domandato la mia opinione..."

Un blog farlocco
Torna all'inizio della Pagina
  Discussione Precedente Discussione Discussione Successiva  
 Nuova Discussione  Rispondi
 Versione Stampabile Bookmark this Topic Aggiungi Segnalibro
Vai a:
Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,12 secondi.

TargatoNA.it | SuperDeejay.Net | Antidoto.org | Brutto.it | Equiweb.it | Snitz Forum 2000