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

Nota: Devi essere registrato per poter inserire un messaggio.
Per registrarti, clicca qui. La Registrazione è semplice e gratuita!

Larghezza finestra:
Nome Utente:
Password:
Modo:
Formato: GrassettoCorsivoSottolineatoBarrato Aggiungi Spoiler Allinea a  SinistraCentraAllinea a Destra Riga Orizzontale Inserisci linkInserisci EmailInserisci FlashInserisci Immagine Inserisci CodiceInserisci CitazioneInserisci Lista Inserisci Faccine
   
Icona Messaggio:              
             
Messaggio:

  * Il codice HTML è OFF
* Il Codice Forum è ON

Smilies
Approvazione [^] Arrabbiato [:(!] Bacio [:X] Bevuta [:273]
Caldo [8D] Compiaciuto [8)]    
compleanno [:269]
Davvero Felice [:D] Diavoletto [}:)] Disapprovazione [V] Domanda [?]
Felice [:)] Fumata [:29] Goloso [:P] Imbarazzato [:I]
Infelice [:(] Morte improvvisa da [:62]
Morto [xx(] Occhio Nero [B)] Occhiolino [;)] Palla 8 [8]
pc [:205]    
Riproduzione [:76]
Scioccato [:O]      

   Allega file
  Clicca qui per inserire la tua firma nel messaggio.
Clicca qui per sottoscrivere questa Discussione.
    

V I S U A L I Z Z A    D I S C U S S I O N E
Vsilver17 Inserito il - 26/03/2009 : 15:19:50
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???
1   U L T I M E    R I S P O S T E    (in alto le più recenti)
genius Inserito il - 21/04/2009 : 14:41:25
fai suonoDadi.ferma() prima di rifare il playAudioFile?

Forum by laureateci.it © 2002 - 2012 Laureateci Communications Torna all'inizio della Pagina
Il DB ha risposto in 0,04 secondi.

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