APIdia Launch Partner
Top Description Fields Constructors Methods
javax.sound

public final Class SoundClip

extends Object
Class Inheritance
Imports
java.io.File, .IOException, com.sun.media.sound.JavaSoundAudioClip

The SoundClip class is a simple abstraction for playing a sound clip. It will play any format that is recognized by the javax.sound API, and for which it has support. This includes midi data.

This class is intended for easy playback of short clips or snippets of sound. Examples of when this might be used is to play an audible alert or effect in a UI app, or to make a short announcement or to provide audible feedback such announcing as the function of a button or control. The application will typically let such clips play once to completion.

Applications needing more precise control or advanced features should look into other parts of the javax.sound API. Playing sound requires that the environment grants access to audio devices. Typically this means running the application in a desktop environment.

Multiple SoundClip items can be playing at the same time, and the resulting sound is mixed together to produce a composite.

Since
25

Field Summary

Modifier and TypeField and Description
private final JavaSoundAudioClip

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public boolean

Returns:

whether this is a playable sound clip
canPlay
()

Returns whether this is a playable sound clip.

public static SoundClip

Returns:

a SoundClip
createSoundClip
(File
the file from which to obtain the sound data
file
)

Creates a SoundClip instance which will play a clip from the supplied file.

public boolean

Returns:

whether sound is currently playing
isPlaying
()

Returns whether sound is currently playing.

public void
loop()

Starts playing this sound clip in a loop.

public void
play()

Starts playing this sound clip.

public void
stop()

Stops playing this sound clip.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

clipback to summary
private final JavaSoundAudioClip clip

Constructor Detail

SoundClipback to summary
private SoundClip(File file) throws IOException

Method Detail

canPlayback to summary
public boolean canPlay()

Returns whether this is a playable sound clip.

A value of false means that calling any of the other methods of this class is a no-op.

Returns:boolean

whether this is a playable sound clip

createSoundClipback to summary
public static SoundClip createSoundClip(File file) throws IOException

Creates a SoundClip instance which will play a clip from the supplied file.

The file contents will be fully read before this method returns. If the file does not contain recognizable and supported sound data, or if the implementation does not find a suitable output device for the data, playing the clip will be a no-op.

Parameters
file:File

the file from which to obtain the sound data

Returns:SoundClip

a SoundClip

Exceptions
IOException:
if there is an error reading from file
NullPointerException:
if file is null
isPlayingback to summary
public boolean isPlaying()

Returns whether sound is currently playing.

Returns:boolean

whether sound is currently playing

loopback to summary
public void loop()

Starts playing this sound clip in a loop. Each time this method is called, the clip is restarted from the beginning. This method will return immediately whether or not sound is played, and possibly before the sound has started playing.

Threading notes : Most applications will not need to do anything except call loop(). The following is therefore something most applications need not be concerned about. Play back is managed in a background thread, which is ususally a daemon thread. Running daemon threads do not prevent the VM from exiting. So at least one thread must be alive to prevent the VM from terminating. A UI application with any window displayed automatically satisfies this requirement. Conversely, if the application wants to guarantee VM exit before the play() has completed, it should call the stop() method.

playback to summary
public void play()

Starts playing this sound clip. Each time this method is called, the clip is restarted from the beginning. This method will return immediately whether or not sound is played, and possibly before the sound has started playing.

Threading notes : Most applications will not need to do anything except call play(). The following is therefore something most applications need not be concerned about. Play back is managed in a background thread, which is usually a daemon thread. Running daemon threads do not prevent the VM from exiting. So at least one thread must be alive to prevent the VM from terminating. A UI application with any window displayed automatically satisfies this requirement. Conversely, if the application wants to guarantee VM exit before the play() has completed, it should call the stop() method.

stopback to summary
public void stop()

Stops playing this sound clip. Call this if the clip is playing and the application needs to stop it early, for example so that the application can ensure the clip playing does not block exit. It is also required to stop a loop().