Package jmri.jmrit

Class Sound

java.lang.Object
jmri.jmrit.Sound

public class Sound extends 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:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    class 
     
    static class 
     
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final long
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Sound(File file)
    Create a Sound object using the media file
    Sound(String path)
    Create a Sound object using the media file at path
    Sound(URL url)
    Create a Sound object using the media URL
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes the sound.
    void
    Dispose this sound.
    boolean
    Get if the clip is closed automatically.
    void
    Play the sound as an endless loop
    void
    loop(int count)
    Play the sound in a loop count times.
    void
    Play the sound once.
    void
    play(boolean autoClose)
    Play the sound once.
    static void
    playSoundBuffer(byte[] wavData)
    Play a sound from a buffer
    void
    setAutoClose(boolean autoClose)
    Set if the clip be closed automatically.
    void
    Stop playing a loop.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

  • Method Details

    • 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. Use Clip.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.