Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    84

    Semplice domanda sui Thread

    Salve, in una mia applicazione ho dei thread che in particolare rappresentano la riproduzione di file audio. Quando un clip è in riproduzione se ne faccio partire un altro (altro thread) si accavallano i suoni poichè i thread lavorano insieme. Come faccio a far partire il secondo thread appena finisce il primo per evitare ciò? Grazie

  2. #2
    Metti al thread un metodo isRunning() e lo chiami per vedere se un thread ha finito. Se ha finito fai partire l'altro.
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

  3. #3
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da mxa
    Metti al thread un metodo isRunning() e lo chiami per vedere se un thread ha finito. Se ha finito fai partire l'altro.
    Oppure, cosa più intelligente, mette il secondo thread in join con il primo: in questo modo partirà non appena il primo terminerà.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    84
    Allora, ho realizzato un semplice player audio basato sui thread. C'è una lista di clip audio e due bottoni play e stop. Selezionando il clip dalla lista e cliccando su play faccio partire il thread. Quindi mando clip.start(). Se invece clicco su stop interrompo il thread con clip.stop(). Il mio problema è che se il clip è in esecuzione e clicco nuovamente su play i suoni si accavallano. Io voglio che il nuovo clip parte solo se non ne esiste un altro attivo. Ho provato a racchiudere tutto l'ActionPerformed del bottone in una condizione. if(! clip.IsAlive()){...} cioè di eseguire il codice solo se clip non è in esecuzione. Ma mi genera degli errori in fase di esecuzione. Come posso fare?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.