Package jmri.jmrit
Class Sound
- java.lang.Object
-
- jmri.jmrit.Sound
-
public class Sound extends java.lang.Object
Provide simple way to load and play sounds in JMRI.This is placed in the jmri.jmrit package by process of elimination. It doesn't belong in the base jmri package, as it's not a basic interface. Nor is it a specific implementation of a basic interface, which would put it in jmri.jmrix. It seems most like a "tool using JMRI", or perhaps a tool for use with JMRI, so it was placed in jmri.jmrit.
- See Also:
jmri.jmrit.sound
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classSound.StreamingSoundstatic classSound.WavBuffer
-
Field Summary
Fields Modifier and Type Field Description static longLARGE_SIZE
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes the sound.voiddispose()Dispose this sound.booleangetAutoClose()Get if the clip is closed automatically.voidloop()Play the sound as an endless loopvoidloop(int count)Play the sound in a loop count times.voidplay()Play the sound once.voidplay(boolean autoClose)Play the sound once.static voidplaySoundBuffer(byte[] wavData)Play a sound from a buffervoidsetAutoClose(boolean autoClose)Set if the clip be closed automatically.voidstop()Stop playing a loop.
-
-
-
Field Detail
-
LARGE_SIZE
public static final long LARGE_SIZE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Sound
public Sound(@Nonnull java.lang.String path) throws java.lang.NullPointerException
Create a Sound object using the media file at path- Parameters:
path- path, portable or absolute, to the media- Throws:
java.lang.NullPointerException- if path cannot be converted into a URL byFileUtilSupport.findURL(java.lang.String)
-
Sound
public Sound(@Nonnull java.io.File file) throws java.net.MalformedURLException
Create a Sound object using the media file- Parameters:
file- reference to the media- Throws:
java.net.MalformedURLException- if file cannot be converted into a valid URL
-
-
Method Detail
-
setAutoClose
public void setAutoClose(boolean autoClose)
Set if the clip be closed automatically.- Parameters:
autoClose- true if closed automatically
-
getAutoClose
public boolean getAutoClose()
Get if the clip is closed automatically.- Returns:
- true if closed automatically
-
close
public void close()
Closes the sound.
-
play
public void play()
Play the sound once.
-
play
public void play(boolean autoClose)
Play the sound once.- Parameters:
autoClose- true if auto close clip, false otherwise. Only valid for clips. For streams, autoClose is ignored.
-
loop
public void loop()
Play the sound as an endless loop
-
loop
public void loop(int count)
Play the sound in a loop count times. UseClip.LOOP_CONTINUOUSLYto create an endless loop.- Parameters:
count- the number of times to loop
-
stop
public void stop()
Stop playing a loop.
-
playSoundBuffer
public static void playSoundBuffer(byte[] wavData)
Play a sound from a buffer- Parameters:
wavData- data to play
-
dispose
public void dispose()
Dispose this sound.
-
-