Class AntSoundPlayer

java.lang.Object
org.apache.tools.ant.taskdefs.optional.sound.AntSoundPlayer
All Implemented Interfaces:
java.util.EventListener, javax.sound.sampled.LineListener, BuildListener

public class AntSoundPlayer
extends java.lang.Object
implements javax.sound.sampled.LineListener, BuildListener
This class is designed to be used by any AntTask that requires audio output. It implements the BuildListener interface to listen for BuildEvents and could be easily extended to provide audio output upon any specific build events occurring. I have only tested this with .WAV and .AIFF sound file formats. Both seem to work fine.
  • Constructor Summary

    Constructors 
    Constructor Description
    AntSoundPlayer()  
  • Method Summary

    Modifier and Type Method Description
    void addBuildFailedSound​(java.io.File fileFail, int loopsFail, java.lang.Long durationFail)  
    void addBuildSuccessfulSound​(java.io.File file, int loops, java.lang.Long duration)  
    void buildFinished​(BuildEvent event)
    Fired after the last target has finished.
    void buildStarted​(BuildEvent event)
    Fired before any targets are started.
    void messageLogged​(BuildEvent event)
    Fired whenever a message is logged.
    void targetFinished​(BuildEvent event)
    Fired when a target has finished.
    void targetStarted​(BuildEvent event)
    Fired when a target is started.
    void taskFinished​(BuildEvent event)
    Fired when a task has finished.
    void taskStarted​(BuildEvent event)
    Fired when a task is started.
    void update​(javax.sound.sampled.LineEvent event)
    This is implemented to listen for any line events and closes the clip if required.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • addBuildSuccessfulSound

      public void addBuildSuccessfulSound​(java.io.File file, int loops, java.lang.Long duration)
      Parameters:
      file - the location of the audio file to be played when the build is successful
      loops - the number of times the file should be played when the build is successful
      duration - the number of milliseconds the file should be played when the build is successful
    • addBuildFailedSound

      public void addBuildFailedSound​(java.io.File fileFail, int loopsFail, java.lang.Long durationFail)
      Parameters:
      fileFail - the location of the audio file to be played when the build fails
      loopsFail - the number of times the file should be played when the build is fails
      durationFail - the number of milliseconds the file should be played when the build fails
    • update

      public void update​(javax.sound.sampled.LineEvent event)
      This is implemented to listen for any line events and closes the clip if required.
      Specified by:
      update in interface javax.sound.sampled.LineListener
      Parameters:
      event - the line event to follow
    • buildStarted

      public void buildStarted​(BuildEvent event)
      Fired before any targets are started.
      Specified by:
      buildStarted in interface BuildListener
      Parameters:
      event - ignored
    • buildFinished

      public void buildFinished​(BuildEvent event)
      Fired after the last target has finished. This event will still be thrown if an error occurred during the build.
      Specified by:
      buildFinished in interface BuildListener
      Parameters:
      event - the build finished event.
      See Also:
      BuildEvent.getException()
    • targetStarted

      public void targetStarted​(BuildEvent event)
      Fired when a target is started.
      Specified by:
      targetStarted in interface BuildListener
      Parameters:
      event - ignored.
      See Also:
      BuildEvent.getTarget()
    • targetFinished

      public void targetFinished​(BuildEvent event)
      Fired when a target has finished. This event will still be thrown if an error occurred during the build.
      Specified by:
      targetFinished in interface BuildListener
      Parameters:
      event - ignored.
      See Also:
      BuildEvent.getException()
    • taskStarted

      public void taskStarted​(BuildEvent event)
      Fired when a task is started.
      Specified by:
      taskStarted in interface BuildListener
      Parameters:
      event - ignored.
      See Also:
      BuildEvent.getTask()
    • taskFinished

      public void taskFinished​(BuildEvent event)
      Fired when a task has finished. This event will still be throw if an error occurred during the build.
      Specified by:
      taskFinished in interface BuildListener
      Parameters:
      event - ignored.
      See Also:
      BuildEvent.getException()
    • messageLogged

      public void messageLogged​(BuildEvent event)
      Fired whenever a message is logged.
      Specified by:
      messageLogged in interface BuildListener
      Parameters:
      event - the build event
      See Also:
      BuildEvent.getMessage(), BuildEvent.getPriority()