Plays a sound-file at the end of the build, according to whether
the build failed or succeeded. You can specify either a specific
sound-file to play, or, if a directory is specified, the
<sound>
task will randomly select a file to play.
Note: At this point, the random selection is based on all the files
in the directory, not just those ending in appropriate suffixes
for sound-files, so be sure you only have sound-files in the
directory you specify.
More precisely <sound>
registers a hook that is
triggered when the build finishes. Therefore you have to place this
task as top level or inside a target which is always executed.
Unless you are running on Java 1.3 or later, you need the Java Media Framework on the classpath (javax.sound).
Specifies the sound to be played if the build succeeded.
Specifies the sound to be played if the build failed.
The following attributes may be used on the <success>
and <fail>
elements:
Attribute | Description | Required |
source | the path to a sound-file directory, or the name of a specific sound-file, to be played. If this file does not exist, an error message will be logged. | Yes |
loops | the number of extra times to play the sound-file;
default is 0 .
|
No |
duration | the amount of time (in milliseconds) to play the sound-file. | No |
plays the<target name="fun" if="fun" unless="fun.done"> <sound> <success source="${user.home}/sounds/bell.wav"/> <fail source="${user.home}/sounds/ohno.wav" loops="2"/> </sound> <property name="fun.done" value="true"/> </target>
bell.wav
sound-file if the build succeeded, or
the ohno.wav
sound-file if the build failed, three times,
if the fun
property is set to true
.
If the target
is a dependency of an "initialization" target that other
targets depend on, the
fun.done
property prevents the target from being executed
more than once.
randomly selects a sound-file to play when the build succeeds or fails.<target name="fun" if="fun" unless="fun.done"> <sound> <success source="//intranet/sounds/success"/> <fail source="//intranet/sounds/failure"/> </sound> <property name="fun.done" value="true"/> </target>