Package 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 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 javax.vecmath.Vector3f
direction
The Cone Sound's direction vector.protected int
dirtyFlags
dirty flags denoting what has changed since last renderingprotected 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 playstatic 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 initializedprotected int
numberOfChannels
protected float
obstructionFilterCutoff
protected int
obstructionFilterType
protected float
obstructionGain
protected float
occlusionFilterCutoff
protected int
occlusionFilterType
protected float
occlusionGain
protected javax.vecmath.Point3f
position
protected float
rateScaleFactor
Overall Scale Factor applied to sound.protected MediaContainer
soundData
sound data associated with sound sourceprotected int
soundType
sound data associated with sound sourceprotected Transform3D
vworldXfrm
protected boolean
vwXfrmFlag
-
Constructor Summary
Constructors Constructor Description Sample()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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(javax.vecmath.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(javax.vecmath.Point3d position)
void
setRateScaleFactor(float scaleFactor)
void
setSoundData(MediaContainer ref)
void
setSoundType(int type)
void
setVWrldXfrmFlag(boolean flag)
-
-
-
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 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
-
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
-
-
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(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.
-
render
public void render(int dirtyFlags, View view, AuralParameters attribs)
-
-