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 class
Sound.StreamingSound
static class
Sound.WavBuffer
-
Field Summary
Fields Modifier and Type Field Description static long
LARGE_SIZE
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Closes the sound.void
dispose()
Dispose this sound.boolean
getAutoClose()
Get if the clip is closed automatically.void
loop()
Play the sound as an endless loopvoid
loop(int count)
Play the sound in a loop count times.void
play()
Play the sound once.void
play(boolean autoClose)
Play the sound once.static void
playSoundBuffer(byte[] wavData)
Play a sound from a buffervoid
setAutoClose(boolean autoClose)
Set if the clip be closed automatically.void
stop()
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_CONTINUOUSLY
to 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.
-
-