Class Sample


  • public class Sample
    extends java.lang.Object
    The Sample class defines the data and methods associated with a sound sample played through the AudioDevice. This contains all the data fields for non-spatialized and spatialized (positional and directional) sound samples.
    • Field Detail

      • NULL_SAMPLE

        public static final int NULL_SAMPLE
        Null Sound identifier denotes sound is not created or initialized
        See Also:
        Constant Field Values
      • soundData

        protected MediaContainer soundData
        sound data associated with sound source
      • soundType

        protected int soundType
        sound data associated with sound source
      • gain

        protected float gain
        Overall Scale Factor applied to sound gain.
      • rateScaleFactor

        protected float rateScaleFactor
        Overall Scale Factor applied to sound.
        Since:
        Java 3D 1.3
      • loopCount

        protected int loopCount
        Number of times sound is looped/repeated during play
      • duration

        protected long duration
      • numberOfChannels

        protected int numberOfChannels
      • mute

        protected boolean mute
      • vwXfrmFlag

        protected boolean vwXfrmFlag
      • position

        protected javax.vecmath.Point3f position
      • attenuationDistance

        protected double[] attenuationDistance
      • attenuationGain

        protected float[] attenuationGain
      • dirtyFlags

        protected int dirtyFlags
        dirty flags denoting what has changed since last rendering
      • direction

        protected javax.vecmath.Vector3f direction
        The Cone Sound's direction vector. This is the cone axis.
      • backAttenuationDistance

        protected double[] backAttenuationDistance
        Pairs of distances and gain scale factors that define piecewise linear gain BACK attenuation between each pair. These are used for defining elliptical attenuation regions.
      • backAttenuationGain

        protected float[] backAttenuationGain
      • angularDistance

        protected double[] angularDistance
        Directional Sound's gain can be attenuated based on the listener's location off-angle from the source source direction. This can be set by three parameters: angular distance in radians gain scale factor filtering (currently the only filtering supported is lowpass)
      • angularGain

        protected float[] angularGain
      • NO_FILTERING

        public static final int NO_FILTERING
        Distance Filter Each sound source is attenuated by a filter based on it's distance from the listener. For now the only supported filterType will be LOW_PASS frequency cutoff. At some time full FIR filtering will be supported.
        See Also:
        Constant Field Values
      • angularFilterType

        protected int angularFilterType
      • angularFilterCutoff

        protected float[] angularFilterCutoff
      • obstructionGain

        protected float obstructionGain
      • obstructionFilterType

        protected int obstructionFilterType
      • obstructionFilterCutoff

        protected float obstructionFilterCutoff
      • occlusionGain

        protected float occlusionGain
      • occlusionFilterType

        protected int occlusionFilterType
      • occlusionFilterCutoff

        protected float occlusionFilterCutoff
    • Constructor Detail

      • Sample

        public Sample()
    • Method Detail

      • debugPrint

        protected void debugPrint​(java.lang.String message)
      • debugPrintln

        protected void debugPrintln​(java.lang.String message)
      • getDuration

        public long getDuration()
      • getStartTime

        public long getStartTime()
      • getNumberOfChannelsUsed

        public int getNumberOfChannelsUsed()
      • setDirtyFlags

        public void setDirtyFlags​(int flags)
      • getDirtyFlags

        public int getDirtyFlags()
      • setSoundType

        public void setSoundType​(int type)
      • getSoundType

        public int getSoundType()
      • setMuteFlag

        public void setMuteFlag​(boolean flag)
      • getMuteFlag

        public boolean getMuteFlag()
      • setVWrldXfrmFlag

        public void setVWrldXfrmFlag​(boolean flag)
      • getVWrldXfrmFlag

        public boolean getVWrldXfrmFlag()
      • setGain

        public void setGain​(float scaleFactor)
      • getGain

        public float getGain()
      • setLoopCount

        public void setLoopCount​(int count)
      • getLoopCount

        public int getLoopCount()
      • setPosition

        public void setPosition​(javax.vecmath.Point3d position)
      • setDistanceGain

        public void setDistanceGain​(double[] frontDistance,
                                    float[] frontAttenuationScaleFactor,
                                    double[] backDistance,
                                    float[] backAttenuationScaleFactor)
      • setDirection

        public void setDirection​(javax.vecmath.Vector3d direction)
      • setAngularAttenuation

        public void setAngularAttenuation​(int filterType,
                                          double[] angle,
                                          float[] attenuationScaleFactor,
                                          float[] filterCutoff)
      • setRateScaleFactor

        public void setRateScaleFactor​(float scaleFactor)
      • getRateScaleFactor

        public float getRateScaleFactor()
      • setObstructionGain

        public void setObstructionGain​(float scaleFactor)
      • getObstructionGain

        public float getObstructionGain()
      • setObstructionFilter

        public void setObstructionFilter​(float cutoffFrequency)
      • setOcclusionGain

        public void setOcclusionGain​(float scaleFactor)
      • getOcclusionGain

        public float getOcclusionGain()
      • setOcclusionFilter

        public void setOcclusionFilter​(float cutoffFrequency)
      • clear

        public void clear()
        Clears/re-initialize fields associated with sample data for this sound, and frees any device specific data associated with this sample.