## org.apache.tools.ant.taskdefs.optional.sound
Class SoundTask

    java.lang.Object
      |
      +--org.apache.tools.ant.ProjectComponent
            |
            +--org.apache.tools.ant.Task
                  |
                  +--org.apache.tools.ant.taskdefs.optional.sound.SoundTask

public class SoundTask
extends Task

Plays a sound file at the end of the build, according to whether the build failed or succeeded. There are three attributes to be set: `source`: the location of the audio file to be played `duration`: play the sound file continuously until "duration" milliseconds has expired `loops`: the number of times the sound file should be played until stopped I have only tested this with .WAV and .AIFF sound file formats. Both seem to work fine. plans for the future: - use the midi api to define sounds (or drum beat etc) in xml and have Ant play them back

Version:
  $Revision: 1.7.2.3 $, $Date: 2003/02/10 14:25:19 $
Author:
  Nick Pellow

Nested Class Summary
`class` `SoundTask.BuildAlert` A class to be extended by any BuildAlert's that require the output of sound.

Field Summary

Fields inherited from class org.apache.tools.ant.Task
`description, location, target, taskName, taskType, wrapper`

Fields inherited from class org.apache.tools.ant.ProjectComponent
`project`

Constructor Summary
`SoundTask()`

Method Summary
`SoundTask.BuildAlert` `createFail()` add a sound when the build fails
`SoundTask.BuildAlert` `createSuccess()` add a sound when the build succeeds
`void` `execute()` Called by the project to let the task do its work.
`void` `init()` Called by the project to let the task initialize properly.

Methods inherited from class org.apache.tools.ant.Task
`getDescription, getLocation, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, handleErrorFlush, handleErrorOutput, handleFlush, handleOutput, isInvalid, log, log, maybeConfigure, perform, setDescription, setLocation, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName`

Methods inherited from class org.apache.tools.ant.ProjectComponent
`getProject, setProject`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SoundTask

    public SoundTask()

Method Detail

### createSuccess

    public SoundTask.BuildAlert createSuccess()

  add a sound when the build succeeds

### createFail

    public SoundTask.BuildAlert createFail()

  add a sound when the build fails

### init

    public void init()

  Description copied from class: `Task`
  Called by the project to let the task initialize properly. The default implementation is a no-op.

  Overrides:
    `init` in class `Task`

### execute

    public void execute()

  Description copied from class: `Task`
  Called by the project to let the task do its work. This method may be called more than once, if the task is invoked more than once. For example, if target1 and target2 both depend on target3, then running "ant target1 target2" will run all tasks in target3 twice.

  Overrides:
    `execute` in class `Task`

Copyright © 2000-2003 Apache Software Foundation. All Rights Reserved.