package rmblworx.tools.timey.gui; import java.io.File; import javafx.scene.media.AudioClip; /* * Copyright 2014-2015 Christian Raue * MIT License http://opensource.org/licenses/mit-license.php */ /** * Spielt einen Sound ab. * @author Christian Raue {@literal <christian.raue@gmail.com>} */ public class AudioPlayer { /** * Spielt den Sound in einem separaten Thread ab. * @param threadHelper ThreadHelper * @param path Pfad zur Datei * @param exceptionHandler Behandlung von Exceptions */ public void playInThread(final ThreadHelper threadHelper, final String path, final Thread.UncaughtExceptionHandler exceptionHandler) { /* * Sound in separatem Thread abspielen, da die Anwendung bei nicht-vorhandener Datei sonst einige Zeit (ca. 5 Sekunden) nicht mehr * reagieren würde, bevor eine Exception auftritt. */ threadHelper.run(new Runnable() { public void run() { new AudioClip(new File(path).toURI().toString()).play(); } }, exceptionHandler); } }