Guten Tag,
ich habe eine Klasse die ein Audiofile wiedergibt. Diese Klasse ist vom Typ Thread. Wenn ich jetzt das Audiofile per Knopfdruck abspiele wird ein neuer Thread erstellt. Wenn ich den Knopf das zweite mal drücke überlagert sich die Audioausgabe da es zweimal ausgegeben wird. Kann ich irgendwie einstellen das ein Thread des gleichen Typs nur einmal abgespielt wird oder das der eine Thread auf den anderen warten muss?
Mit freundlichen Grüßen
Patrick
ich habe eine Klasse die ein Audiofile wiedergibt. Diese Klasse ist vom Typ Thread. Wenn ich jetzt das Audiofile per Knopfdruck abspiele wird ein neuer Thread erstellt. Wenn ich den Knopf das zweite mal drücke überlagert sich die Audioausgabe da es zweimal ausgegeben wird. Kann ich irgendwie einstellen das ein Thread des gleichen Typs nur einmal abgespielt wird oder das der eine Thread auf den anderen warten muss?
Java:
public class Audio_Manager extends Thread {
Con_SQL sql = null;
int bereichId = 0;
private static final Logger LOG = Logger.getLogger(Alarm_Manager.class);
public Audio_Manager(Con_SQL sql, int bereichId) {
this.sql = sql;
this.bereichId = bereichId;
}
public void run() {
try {
Thread.sleep(sql.getVersatz());
final Vector<InputStream> vec = sql.getAudioZuw(bereichId);
for (int i = 0; i < vec.size(); i++) {
try {
InputStream is = vec.get(i);
Player player = new Player(is);
player.play();
LOG.info("Eine Audio Datei wurde abgespielt.");
is.close();
} catch (Exception ex) {
ex.printStackTrace();
LOG.error(ex.getMessage());
}
}
} catch (Exception e) {
e.printStackTrace();
LOG.error(e.getMessage());
}
}
}
Mit freundlichen Grüßen
Patrick