Package org.web3d.x3d.sai.Sound
Interface AudioClip
- All Superinterfaces:
X3DChildNode,X3DNode,X3DSoundSourceNode,X3DTimeDependentNode,X3DUrlObject
- All Known Implementing Classes:
AudioClipObject
public interface AudioClip extends X3DSoundSourceNode, X3DUrlObject
AudioClip provides audio data used by parent Sound nodes.
X3D node tooltip: [X3DSoundSourceNode,X3DUrlObject] AudioClip provides audio data used by parent Sound nodes.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
X3D node tooltip: [X3DSoundSourceNode,X3DUrlObject] AudioClip provides audio data used by parent Sound nodes.
- Hint: add a parent Sound node first.
- Hint: utilize DEF/USE references for multiple copies of a single AudioClip sound file in order to avoid multiple-download delays, reduce memory requirements, and maintain synchronization.
- Hint: authors can provide multiple audio formats for the same audio track, with each source address listed separately in the url field.
- Hint: player support for .wav format is required, .midi format is recommended, other formats are optional.
- Hint: X3D Scene Authoring Hints:Audio https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Audio
- Hint: apply containerField='watchList' when parent node is LoadSensor.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
-
Method Summary
Modifier and Type Method Description java.lang.StringgetDescription()Provide String value from inputOutput SFString field named description.doublegetDuration()Provide double value in seconds within allowed range of [-1,infinity) from outputOnly SFTime field named duration_changed.doublegetElapsedTime()Provide double value in seconds within allowed range of [0,infinity) from outputOnly SFTime field named elapsedTime.booleangetIsActive()Provide boolean value from outputOnly SFBool field named isActive.booleangetIsPaused()Provide boolean value from outputOnly SFBool field named isPaused.booleangetLoop()Provide boolean value from inputOutput SFBool field named loop.X3DMetadataObjectgetMetadata()Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.doublegetPauseTime()Provide double value in seconds from inputOutput SFTime field named pauseTime.floatgetPitch()Provide float value within allowed range of (0,infinity) from inputOutput SFFloat field named pitch.doublegetResumeTime()Provide double value in seconds from inputOutput SFTime field named resumeTime.doublegetStartTime()Provide double value in seconds from inputOutput SFTime field named startTime.doublegetStopTime()Provide double value in seconds from inputOutput SFTime field named stopTime.java.lang.String[]getUrl()Provide array of String results from inputOutput MFString field named url.AudioClipsetDescription(java.lang.String newValue)Accessor method to assign String value to inputOutput SFString field named description.AudioClipsetLoop(boolean newValue)Accessor method to assign boolean value to inputOutput SFBool field named loop.AudioClipsetMetadata(X3DMetadataObject newValue)Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.AudioClipsetPauseTime(double newValue)Accessor method to assign double value in seconds to inputOutput SFTime field named pauseTime.AudioClipsetPitch(float newValue)Accessor method to assign float value to inputOutput SFFloat field named pitch.AudioClipsetResumeTime(double newValue)Accessor method to assign double value in seconds to inputOutput SFTime field named resumeTime.AudioClipsetStartTime(double newValue)Accessor method to assign double value in seconds to inputOutput SFTime field named startTime.AudioClipsetStopTime(double newValue)Accessor method to assign double value in seconds to inputOutput SFTime field named stopTime.AudioClipsetUrl(java.lang.String[] newValue)Accessor method to assign String array to inputOutput MFString field named url.
-
Method Details
-
getDescription
java.lang.String getDescription()Provide String value from inputOutput SFString field named description.
Tooltip: Author-provided text tooltip that tells users the expected action of this node.- Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
- Specified by:
getDescriptionin interfaceX3DSoundSourceNode- Returns:
- value of description field
-
setDescription
Accessor method to assign String value to inputOutput SFString field named description.
Tooltip: Author-provided text tooltip that tells users the expected action of this node.- Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
- Specified by:
setDescriptionin interfaceX3DSoundSourceNode- Parameters:
newValue- is new value for the description field.- Returns:
AudioClip- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getDuration
double getDuration()Provide double value in seconds within allowed range of [-1,infinity) from outputOnly SFTime field named duration_changed.
Tooltip: [0,+infinity) or -1. duration_changed is length of time in seconds for one cycle of media stream.- Warning: duration value of -1 implies that media data has not yet loaded or is unavailable for some reason.
- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Hint: duration_changed is an SFTime duration interval, normally nonnegative, and not an absolute clock time.
- Hint: changing the pitch field does not trigger a duration_changed event. Playback interval may vary but duration of the original media data remains unmodified.
- Specified by:
getDurationin interfaceX3DSoundSourceNode- Returns:
- value of duration_changed field
-
getElapsedTime
double getElapsedTime()Provide double value in seconds within allowed range of [0,infinity) from outputOnly SFTime field named elapsedTime.
Tooltip: [0,+infinity) Current elapsed time since AudioClip activated/running, cumulative in seconds, and not counting any paused time.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Hint: elapsedTime is a nonnegative SFTime duration interval, not an absolute clock time.
- Specified by:
getElapsedTimein interfaceX3DSoundSourceNode- Specified by:
getElapsedTimein interfaceX3DTimeDependentNode- Returns:
- value of elapsedTime field
-
getIsActive
boolean getIsActive()Provide boolean value from outputOnly SFBool field named isActive.
Tooltip: isActive true/false events are sent when playback starts/stops.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Specified by:
getIsActivein interfaceX3DSoundSourceNode- Specified by:
getIsActivein interfaceX3DTimeDependentNode- Returns:
- value of isActive field
-
getIsPaused
boolean getIsPaused()Provide boolean value from outputOnly SFBool field named isPaused.
Tooltip: isPaused true/false events are sent when AudioClip is paused/resumed.- Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
- Specified by:
getIsPausedin interfaceX3DSoundSourceNode- Specified by:
getIsPausedin interfaceX3DTimeDependentNode- Returns:
- value of isPaused field
-
getLoop
boolean getLoop()Provide boolean value from inputOutput SFBool field named loop.
Tooltip: Repeat indefinitely when loop=true, repeat only once when loop=false. *- Specified by:
getLoopin interfaceX3DSoundSourceNode- Specified by:
getLoopin interfaceX3DTimeDependentNode- Returns:
- value of loop field
-
setLoop
Accessor method to assign boolean value to inputOutput SFBool field named loop.
Tooltip: Repeat indefinitely when loop=true, repeat only once when loop=false. *- Specified by:
setLoopin interfaceX3DSoundSourceNode- Specified by:
setLoopin interfaceX3DTimeDependentNode- Parameters:
newValue- is new value for the loop field.- Returns:
AudioClip- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getMetadata
X3DMetadataObject getMetadata()Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
getMetadatain interfaceX3DChildNode- Specified by:
getMetadatain interfaceX3DNode- Specified by:
getMetadatain interfaceX3DSoundSourceNode- Specified by:
getMetadatain interfaceX3DTimeDependentNode- Returns:
- value of metadata field
- See Also:
- X3D Scene Authoring Hints: Metadata Nodes
-
setMetadata
Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
setMetadatain interfaceX3DChildNode- Specified by:
setMetadatain interfaceX3DNode- Specified by:
setMetadatain interfaceX3DSoundSourceNode- Specified by:
setMetadatain interfaceX3DTimeDependentNode- Parameters:
newValue- is new value for the metadata field.- Returns:
AudioClip- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
- X3D Scene Authoring Hints: Metadata Nodes
-
getPauseTime
double getPauseTime()Provide double value in seconds from inputOutput SFTime field named pauseTime.
Tooltip: When time now >= pauseTime, isPaused becomes true and AudioClip becomes paused. Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.- Hint: ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.
- Specified by:
getPauseTimein interfaceX3DSoundSourceNode- Specified by:
getPauseTimein interfaceX3DTimeDependentNode- Returns:
- value of pauseTime field
-
setPauseTime
Accessor method to assign double value in seconds to inputOutput SFTime field named pauseTime.
Tooltip: When time now >= pauseTime, isPaused becomes true and AudioClip becomes paused. Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.- Hint: ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.
- Specified by:
setPauseTimein interfaceX3DSoundSourceNode- Specified by:
setPauseTimein interfaceX3DTimeDependentNode- Parameters:
newValue- is new value for the pauseTime field.- Returns:
AudioClip- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getPitch
float getPitch()Provide float value within allowed range of (0,infinity) from inputOutput SFFloat field named pitch.
Tooltip: (0,+infinity) Multiplier for the rate at which sampled sound is played. Changing pitch also changes playback speed.- Hint: changing the pitch field does not trigger a duration_changed event. Playback interval may vary but duration of the original media data remains unmodified.
- Specified by:
getPitchin interfaceX3DSoundSourceNode- Returns:
- value of pitch field
-
setPitch
Accessor method to assign float value to inputOutput SFFloat field named pitch.
Tooltip: (0,+infinity) Multiplier for the rate at which sampled sound is played. Changing pitch also changes playback speed.- Hint: changing the pitch field does not trigger a duration_changed event. Playback interval may vary but duration of the original media data remains unmodified.
- Specified by:
setPitchin interfaceX3DSoundSourceNode- Parameters:
newValue- is new value for the pitch field.- Returns:
AudioClip- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getResumeTime
double getResumeTime()Provide double value in seconds from inputOutput SFTime field named resumeTime.
Tooltip: When resumeTime becomes <= time now, isPaused becomes false and AudioClip becomes active. Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.- Hint: ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.
- Specified by:
getResumeTimein interfaceX3DSoundSourceNode- Specified by:
getResumeTimein interfaceX3DTimeDependentNode- Returns:
- value of resumeTime field
-
setResumeTime
Accessor method to assign double value in seconds to inputOutput SFTime field named resumeTime.
Tooltip: When resumeTime becomes <= time now, isPaused becomes false and AudioClip becomes active. Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.- Hint: ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.
- Specified by:
setResumeTimein interfaceX3DSoundSourceNode- Specified by:
setResumeTimein interfaceX3DTimeDependentNode- Parameters:
newValue- is new value for the resumeTime field.- Returns:
AudioClip- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getStartTime
double getStartTime()Provide double value in seconds from inputOutput SFTime field named startTime.
Tooltip: Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.- Hint: ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.
- Specified by:
getStartTimein interfaceX3DSoundSourceNode- Specified by:
getStartTimein interfaceX3DTimeDependentNode- Returns:
- value of startTime field
-
setStartTime
Accessor method to assign double value in seconds to inputOutput SFTime field named startTime.
Tooltip: Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.- Hint: ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.
- Specified by:
setStartTimein interfaceX3DSoundSourceNode- Specified by:
setStartTimein interfaceX3DTimeDependentNode- Parameters:
newValue- is new value for the startTime field.- Returns:
AudioClip- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getStopTime
double getStopTime()Provide double value in seconds from inputOutput SFTime field named stopTime.
Tooltip: Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.- Hint: ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.
- Warning: An active TimeSensor node ignores set_cycleInterval and set_startTime events.
- Warning: An active TimeSensor node ignores set_stopTime event values less than or equal to startTime.
- Specified by:
getStopTimein interfaceX3DSoundSourceNode- Specified by:
getStopTimein interfaceX3DTimeDependentNode- Returns:
- value of stopTime field
-
setStopTime
Accessor method to assign double value in seconds to inputOutput SFTime field named stopTime.
Tooltip: Absolute time: number of seconds since January 1, 1970, 00:00:00 GMT.- Hint: ROUTE a time value matching system clock to this field, such as output event from TouchSensor touchTime or TimeTrigger triggerTime.
- Warning: An active TimeSensor node ignores set_cycleInterval and set_startTime events.
- Warning: An active TimeSensor node ignores set_stopTime event values less than or equal to startTime.
- Specified by:
setStopTimein interfaceX3DSoundSourceNode- Specified by:
setStopTimein interfaceX3DTimeDependentNode- Parameters:
newValue- is new value for the stopTime field.- Returns:
AudioClip- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getUrl
java.lang.String[] getUrl()Provide array of String results from inputOutput MFString field named url.
Tooltip: Location and filename of sound file or stream. Support for .wav format is required, .midi format is recommended, other formats are optional.- Hint: MFString arrays can have multiple values, so separate each individual string by quote marks. "https://www.web3d.org" "https://www.web3d.org/about" "etc."
- Hint: alternative XML encoding for quotation mark " is " (which is an example of a character entity).
- Warning: strictly match directory and filename capitalization for http links! This is important for portability. Some operating systems are forgiving of capitalization mismatches, but http/https url addresses and paths in Unix-based operating systems are all case sensitive and intolerant of uppercase/lowercase mismatches.
- Hint: can replace embedded blank(s) in url queries with %20 for each blank character.
- Hint: X3D Scene Authoring Hints, urls https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls
- Specified by:
getUrlin interfaceX3DUrlObject- Returns:
- value of url field
-
setUrl
Accessor method to assign String array to inputOutput MFString field named url.
Tooltip: Location and filename of sound file or stream. Support for .wav format is required, .midi format is recommended, other formats are optional.- Hint: MFString arrays can have multiple values, so separate each individual string by quote marks. "https://www.web3d.org" "https://www.web3d.org/about" "etc."
- Hint: alternative XML encoding for quotation mark " is " (which is an example of a character entity).
- Warning: strictly match directory and filename capitalization for http links! This is important for portability. Some operating systems are forgiving of capitalization mismatches, but http/https url addresses and paths in Unix-based operating systems are all case sensitive and intolerant of uppercase/lowercase mismatches.
- Hint: can replace embedded blank(s) in url queries with %20 for each blank character.
- Hint: X3D Scene Authoring Hints, urls https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls
- Specified by:
setUrlin interfaceX3DUrlObject- Parameters:
newValue- is new value for the url field.- Returns:
AudioClip- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-