Example #1
0
 /**
  * Plays a file once.
  *
  * @param file The <code>File</code> to be played.
  */
 public void playOnce(File file) {
   if (getMixer() == null) return; // Fail faster.
   try {
     soundPlayerThread.add(getAudioInputStream(file));
     soundPlayerThread.awaken();
   } catch (Exception e) {
     logger.log(Level.WARNING, "Unable to play: " + file.getName(), e);
   }
 }
Example #2
0
 /**
  * Creates a sound player.
  *
  * @param mixerOption The option for setting the mixer to use.
  * @param volumeOption The volume option to use when playing audio.
  */
 public SoundPlayer(AudioMixerOption mixerOption, PercentageOption volumeOption) {
   setMixer(mixerOption.getValue());
   if (mixer == null) {
     throw new IllegalStateException("Mixer unavailable.");
   }
   mixerOption.addPropertyChangeListener(
       new PropertyChangeListener() {
         @Override
         public void propertyChange(PropertyChangeEvent e) {
           setMixer((MixerWrapper) e.getNewValue());
         }
       });
   setVolume(volumeOption.getValue());
   volumeOption.addPropertyChangeListener(
       new PropertyChangeListener() {
         @Override
         public void propertyChange(PropertyChangeEvent e) {
           setVolume((Integer) e.getNewValue());
         }
       });
   soundPlayerThread = new SoundPlayerThread();
   soundPlayerThread.start();
 }
Example #3
0
 /** Stops the current sound. */
 public void stop() {
   soundPlayerThread.stopPlaying();
   soundPlayerThread.awaken();
 }