com.sun.j3d.audioengines

## Class Sample

- java.lang.Object
- - com.sun.j3d.audioengines.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 Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected double[]` | `angularDistance` Directional Sound's gain can be attenuated based on the listener's location off-angle from the source source direction.
    `protected float[]` | `angularFilterCutoff`
    `protected int` | `angularFilterType`
    `protected float[]` | `angularGain`
    `protected double[]` | `attenuationDistance`
    `protected float[]` | `attenuationGain`
    `protected double[]` | `backAttenuationDistance` Pairs of distances and gain scale factors that define piecewise linear gain BACK attenuation between each pair.
    `protected float[]` | `backAttenuationGain`
    `protected static boolean` | `debugFlag`
    `protected Vector3f` | `direction` The Cone Sound's direction vector.
    `protected int` | `dirtyFlags` dirty flags denoting what has changed since last rendering
    `protected long` | `duration`
    `static int` | `DURATION_UNKNOWN`
    `protected float` | `gain` Overall Scale Factor applied to sound gain.
    `protected static boolean` | `internalErrors`
    `protected int` | `loopCount` Number of times sound is looped/repeated during play
    `static int` | `LOW_PASS`
    `protected boolean` | `mute`
    `static int` | `NO_FILTERING` Distance Filter Each sound source is attenuated by a filter based on it's distance from the listener.
    `static int` | `NULL_SAMPLE` Null Sound identifier denotes sound is not created or initialized
    `protected int` | `numberOfChannels`
    `protected float` | `obstructionFilterCutoff`
    `protected int` | `obstructionFilterType`
    `protected float` | `obstructionGain`
    `protected float` | `occlusionFilterCutoff`
    `protected int` | `occlusionFilterType`
    `protected float` | `occlusionGain`
    `protected Point3f` | `position`
    `protected float` | `rateScaleFactor` Overall Scale Factor applied to sound.
    `protected MediaContainer` | `soundData` sound data associated with sound source
    `protected int` | `soundType` sound data associated with sound source
    `protected Transform3D` | `vworldXfrm`
    `protected boolean` | `vwXfrmFlag`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Sample()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()` Clears/re-initialize fields associated with sample data for this sound, and frees any device specific data associated with this sample.
    `protected void` | `debugPrint(java.lang.String message)`
    `protected void` | `debugPrintln(java.lang.String message)`
    `int` | `getDirtyFlags()`
    `long` | `getDuration()`
    `float` | `getGain()`
    `int` | `getLoopCount()`
    `boolean` | `getMuteFlag()`
    `int` | `getNumberOfChannelsUsed()`
    `float` | `getObstructionGain()`
    `float` | `getOcclusionGain()`
    `float` | `getRateScaleFactor()`
    `MediaContainer` | `getSoundData()`
    `int` | `getSoundType()`
    `long` | `getStartTime()`
    `boolean` | `getVWrldXfrmFlag()`
    `void` | `render(int dirtyFlags, View view, AuralParameters attribs)`
    `void` | `setAngularAttenuation(int filterType, double[] angle, float[] attenuationScaleFactor, float[] filterCutoff)`
    `void` | `setDirection(Vector3d direction)`
    `void` | `setDirtyFlags(int flags)`
    `void` | `setDistanceGain(double[] frontDistance, float[] frontAttenuationScaleFactor, double[] backDistance, float[] backAttenuationScaleFactor)`
    `void` | `setGain(float scaleFactor)`
    `void` | `setLoopCount(int count)`
    `void` | `setMuteFlag(boolean flag)`
    `void` | `setObstructionFilter(float cutoffFrequency)`
    `void` | `setObstructionGain(float scaleFactor)`
    `void` | `setOcclusionFilter(float cutoffFrequency)`
    `void` | `setOcclusionGain(float scaleFactor)`
    `void` | `setPosition(Point3d position)`
    `void` | `setRateScaleFactor(float scaleFactor)`
    `void` | `setSoundData(MediaContainer ref)`
    `void` | `setSoundType(int type)`
    `void` | `setVWrldXfrmFlag(boolean flag)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### debugFlag

          protected static final boolean debugFlag

      See Also:
        Constant Field Values

    - #### internalErrors

          protected static final boolean internalErrors

      See Also:
        Constant Field Values

    - #### 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_UNKNOWN

          public static final int DURATION_UNKNOWN

      See Also:
        Constant Field Values

    - #### duration

          protected long duration

    - #### numberOfChannels

          protected int numberOfChannels

    - #### mute

          protected boolean mute

    - #### vworldXfrm

          protected Transform3D vworldXfrm

    - #### vwXfrmFlag

          protected boolean vwXfrmFlag

    - #### position

          protected 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 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

    - #### LOW_PASS

          public static final int LOW_PASS

      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()

    - #### setSoundData

          public void setSoundData(MediaContainer ref)

    - #### getSoundData

          public MediaContainer getSoundData()

    - #### 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(Point3d position)

    - #### setDistanceGain

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

    - #### setDirection

          public void setDirection(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.

    - #### render

          public void render(int dirtyFlags,
                    View view,
                    AuralParameters attribs)

Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.