|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
The methods in this interface SHOULD NOT BE CALLED AN APPLICATION. These are only to be called by Core Java 3D Sound classes.
After the application chooses the AudioDevice3D that Java3D sound is to be rendered on, the Java 3D Sound Scheduler will call these methods for all active sounds to render them on the audio device.
The intent is for this interface to be implemented by AudioDevice Driver developers using a software or hardware sound engine of their choice.
Methods in this interface provide the Java3D Core a generic way to set and query the audio device the application has choosen audio rendering to be performed on. Methods in this interface include:
Start, stop, pause, unpause, mute and unmute of sample on the device.
Set parameters for each sample corresponding to the fields in the Sound node.
Set the current active aural parameters that affect all positional samples
Field Summary | |
static int |
BACKGROUND_SOUND
Sound Types Sound types match the Sound node classes defined for Java 3D core for BackgroundSound, PointSound and ConeSound. |
static int |
BUFFERED_AUDIO_DATA
Sound data specified as Buffered is copied by the AudioDevice driver implementation. |
static int |
CONE_SOUND
|
static int |
POINT_SOUND
|
static int |
STREAMING_AUDIO_DATA
Sound data specified as Streaming is not copied by the AudioDevice driver implementation. |
Fields inherited from interface javax.media.j3d.AudioDevice |
HEADPHONES,
MONO_SPEAKER,
STEREO_SPEAKERS |
Method Summary | |
void |
clearSound(int index)
Clear sound The method clearSound() requests that the AudioDevice free all resources associated with sample with index id. |
int |
getNumberOfChannelsUsed(int index)
Query number of channels used by Sound Retrieves number of channels (on executing audio device) that this sound is using, if its playing, or is expected to use if it were begun to be played. |
int |
getNumberOfChannelsUsed(int index,
boolean muted)
Query number of channels used by Sound Retrieves number of channels (on executing audio device) that this sound is using, if its playing, or is projected to use if were to be started playing. |
long |
getSampleDuration(int index)
Query Sample Duration If it can be determined this method getSampleDuration() returns the duration in milliseconds of the the sound sample. |
long |
getStartTime(int index)
Query last Start Time for this sound on the device This method getStartTime() returns the system time of when the sound was last "started". |
void |
muteSample(int index)
Mute Sample Makes the sample 'play silently'. |
void |
pauseSample(int index)
Pause Sample Temporarily stops a cached sample from playing without resetting the sample's current pointer back to the beginning of the sound data so that it can be unpaused at a later time from the same location in the sample when the pause was initiated. |
int |
prepareSound(int soundType,
MediaContainer soundData)
Prepare Sound The method prepareSound() accepts a reference to the MediaContainer which contains a reference to sound data and information about the type of data it is. |
void |
setAngularAttenuation(int index,
int filterType,
double[] angle,
float[] attenuationScaleFactor,
float[] filterCutoff)
Set Angular Attenuation Sets this sound's angular gain attenuation (including filter) by defining corresponding arrays containing angular offsets from the sound's axis, gain scale factors and frequency cutoff applied to all active directional sounds. |
void |
setDirection(int index,
Vector3d direction)
Set Direction Sets this sound's direction from the local coordinate vector provided. |
void |
setDistanceFilter(int filterType,
double[] distance,
float[] filterCutoff)
Set AuralAttribute Distance Filter Set Distance Filter corresponding arrays containing distances and frequency cutoff applied to all active positional sounds. |
void |
setDistanceGain(int index,
double[] frontDistance,
float[] frontAttenuationScaleFactor,
double[] backDistance,
float[] backAttenuationScaleFactor)
Set Distance Gain Sets this sound's distance gain elliptical attenuation (not including filter cutoff frequency) by defining corresponding arrays containing distances from the sound's origin and gain scale factors applied to all active positional sounds. |
void |
setFrequencyScaleFactor(float frequencyScaleFactor)
Set AuralAttribute Frequency Scale Factor This parameter specifies a scale factor applied to the frequency (or wavelength). |
void |
setLoop(int index,
int count)
Set Loop Count Sets a sound's loop count. |
void |
setPosition(int index,
Point3d position)
Set Position Sets this sound's location (in Local coordinates) from provided Point. |
void |
setReflectionCoefficient(float coefficient)
Set AuralAttribute Reverberation Coeffient Set Reflective Coefficient scale factor defining the reflective/ absortive characteristic if the surfaces in the region defined by the current Soundscape region. |
void |
setReverbDelay(float reverbDelay)
Set AuralAttribute Reverberation Delay Sets revereration delay time. |
void |
setReverbOrder(int reverbOrder)
Set AuralAttribute Reverberation Order Sets reverberation order of reflections Its parameter specifies the number of times reflections are added to reverberation being calculated. |
void |
setRolloff(float rolloff)
Set AuralAttribute Gain Rolloff Used to change the speed of sound factor. |
void |
setSampleGain(int index,
float scaleFactor)
Set Gain Scale Factor Set the overall gain scale factor applied to data associated with this source to increase or decrease its overall amplitude. |
void |
setVelocityScaleFactor(float velocityScaleFactor)
Set AuralAttribute Velocity Scale Factor Set Velocity scale factor applied during Doppler Effect calculation. |
void |
setView(View reference)
Set View The method setView() accepts a reference to the current View. |
void |
setVworldXfrm(int index,
Transform3D trans)
Set Virtual World Transform Passes a reference to the concatenated tranformation to be applied to local sound position and direction parameters. |
int |
startSample(int index)
Start Sample This method startSample() begins a sound playing on the AudioDevice. |
int |
stopSample(int index)
Stop Sample This method stopSample() stops the sound on the AudioDevice. |
void |
unmuteSample(int index)
Unmute Sample Make a silently playing sample audible. |
void |
unpauseSample(int index)
Unpause Sample Restarts the paused sample from the location in the sample where paused. |
void |
updateSample(int index)
Explicit Update of a Sample This method is called when a Sound is to be explicitly updated. |
Methods inherited from interface javax.media.j3d.AudioDevice |
close,
getAngleOffsetToSpeaker,
getAudioPlaybackType,
getCenterEarToSpeaker,
getChannelsAvailable,
getChannelsUsedForSound,
getTotalChannels,
initialize,
setAngleOffsetToSpeaker,
setAudioPlaybackType,
setCenterEarToSpeaker |
Field Detail |
public static final int BACKGROUND_SOUND
public static final int POINT_SOUND
public static final int CONE_SOUND
public static final int STREAMING_AUDIO_DATA
public static final int BUFFERED_AUDIO_DATA
Method Detail |
public void setView(View reference)
This method should only be called by Java3D Core and NOT by any application.
reference
- the current Viewpublic int prepareSound(int soundType, MediaContainer soundData)
Once this preparation is complete for the sound sample, a AudioDevice specific index, used to reference the sample in future method calls is returned. All the rest of the methods described below require this index are a parameter.
This method should only be called by Java3D Core and NOT by any application.
soundType
- defines the type of Sound Node: Background, Point and
ConesoundData
- reference to MediaContainer sound data and cached flag.public void clearSound(int index)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplepublic long getSampleDuration(int index)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplepublic int getNumberOfChannelsUsed(int index)
For some AudioDevice3D implementations:
A single sound could be rendered using multiple samples, each taking up mixer channels.
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplepublic int getNumberOfChannelsUsed(int index, boolean muted)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplemuted
- flag to use as the current muted state ignoring current
mute state.public int startSample(int index)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplepublic long getStartTime(int index)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplepublic int stopSample(int index)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver sample
associated with sound data to be played.public void setSampleGain(int index, float scaleFactor)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver sampleamplitude
- (gain) scale factorpublic void setLoop(int index, int count)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver sampleloopCount
- number of times sound is looped during playpublic void setVworldXfrm(int index, Transform3D trans)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver sampletrans
- transformation matrix applied to local coordinate parameterspublic void setPosition(int index, Point3d position)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver sampleposition
- location of Point or Cone Sound in Virtual World
coordinatespublic void setDistanceGain(int index, double[] frontDistance, float[] frontAttenuationScaleFactor, double[] backDistance, float[] backAttenuationScaleFactor)
The form of the attenuation parameters match that of the ConeSound method of the same name. A full description of this parameter and how it is be used is in the documentation for ConeSound class.
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplefrontDistance
- defines an array of distance along positive axis
thru which ellipses passfrontAttenuationScaleFactor
- gain scale factorsbackDistance
- defines an array of distance along the negative axis
thru which ellipses passbackAttenuationScaleFactor
- gain scale factorspublic void setDirection(int index, Vector3d direction)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver sampledirection
- the new direction vector in local coordinatespublic void setAngularAttenuation(int index, int filterType, double[] angle, float[] attenuationScaleFactor, float[] filterCutoff)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplefilterType
- describes type (if any) of filtering defined by attenuationangle
- array containing angular distances from sound axisattenuationScaleFactor
- array containing gain scale factorfilterCutoff
- array containing filter cutoff frequencies.
The filter values for each tuples can be set to Sound.NO_FILTER.public void setRolloff(float rolloff)
This method should only be called by Java3D Core and NOT by any application.
rolloff
- atmospheric gain scale factor (changing speed of sound)public void setReflectionCoefficient(float coefficient)
This method should only be called by Java3D Core and NOT by any application.
coefficient
- reflection/absorption factor applied to reverbpublic void setReverbDelay(float reverbDelay)
This method should only be called by Java3D Core and NOT by any application.
reverbDelay
- time between each order of reflectionpublic void setReverbOrder(int reverbOrder)
This method should only be called by Java3D Core and NOT by any application.
reverbOrder
- number of times reflections added to reverb signalpublic void setDistanceFilter(int filterType, double[] distance, float[] filterCutoff)
This method should only be called by Java3D Core and NOT by any application.
filterType
- denotes the type of filtering to be applieddistance
- array of offset distances from sound originfilterCutoff
- array of frequency cutoffpublic void setFrequencyScaleFactor(float frequencyScaleFactor)
This method should only be called by Java3D Core and NOT by any application.
frequencyScaleFactor
- factor applied to change of frequencypublic void setVelocityScaleFactor(float velocityScaleFactor)
This method should only be called by Java3D Core and NOT by any application.
velocityScaleFactor
- applied to velocity of sound in relation
to listenerpublic void muteSample(int index)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplepublic void unmuteSample(int index)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplepublic void pauseSample(int index)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplepublic void unpauseSample(int index)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver samplepublic void updateSample(int index)
This method should only be called by Java3D Core and NOT by any application.
index
- device specific reference number to device driver sample
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |