Class JavaSoundAudioFactory

java.lang.Object
jmri.jmrit.audio.AbstractAudioFactory
jmri.jmrit.audio.JavaSoundAudioFactory
All Implemented Interfaces:
AudioFactory

This is the JavaSound audio system specific AudioFactory.

The JavaSound sound system supports, where available, 2-channel stereo.

The implemented Audio objects provide an approximation of a 3D positionable audio model through the use of calculated panning and gain based on the 3D position of the individual sound sources.

This factory initialises JavaSound, provides new JavaSound-specific Audio objects and deals with clean-up operations.

For more information about the JavaSound API, visit http://java.sun.com/products/java-media/sound/


This file is part of JMRI.

JMRI is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation. See the "COPYING" file for a copy of this license.

JMRI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

  • Constructor Details

  • Method Details

    • init

      public boolean init()
      Description copied from interface: AudioFactory
      Perform any implementation specific initialisation routines.
      Specified by:
      init in interface AudioFactory
      Overrides:
      init in class AbstractAudioFactory
      Returns:
      true, if initialisation successful
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • cleanup

      public void cleanup()
      Description copied from interface: AudioFactory
      Perform any implementation specific clean-up operations.
      Specified by:
      cleanup in interface AudioFactory
      Overrides:
      cleanup in class AbstractAudioFactory
    • isInitialised

      public boolean isInitialised()
      Description copied from interface: AudioFactory
      Determine if this AudioFactory is initialised
      Returns:
      true if initialised
    • createNewBuffer

      public AudioBuffer createNewBuffer(String systemName, String userName)
      Description copied from interface: AudioFactory
      Provide a specific new AudioBuffer object.
      Parameters:
      systemName - for this object instance
      userName - for this object instance
      Returns:
      a new specific AudioBuffer
    • createNewListener

      public AudioListener createNewListener(String systemName, String userName)
      Description copied from interface: AudioFactory
      Provide a specific new AudioListener object.
      Parameters:
      systemName - for this object instance
      userName - for this object instance
      Returns:
      a new specific AudioListener
    • getActiveAudioListener

      Description copied from interface: AudioFactory
      Get the currently active Listener object.
      Returns:
      active AudioListener
    • createNewSource

      public AudioSource createNewSource(String systemName, String userName)
      Description copied from interface: AudioFactory
      Provide a specific new AudioSource object.
      Parameters:
      systemName - for this object instance
      userName - for this object instance
      Returns:
      a new specific AudioSource
    • getMixer

      public static Mixer getMixer()
      Return reference to the current JavaSound mixer object.
      Returns:
      current JavaSound mixer