Class JavaSoundAudioFactory

  • All Implemented Interfaces:
    AudioFactory

    public class JavaSoundAudioFactory
    extends AbstractAudioFactory
    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.

    • Method Detail

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • isInitialised

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

        public AudioBuffer createNewBuffer​(java.lang.String systemName,
                                           java.lang.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​(java.lang.String systemName,
                                               java.lang.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
      • createNewSource

        public AudioSource createNewSource​(java.lang.String systemName,
                                           java.lang.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 javax.sound.sampled.Mixer getMixer()
        Return reference to the current JavaSound mixer object.
        Returns:
        current JavaSound mixer