Interface AudioClip
- All Superinterfaces:
X3DChildNode
,X3DNode
,X3DSoundNode
,X3DSoundSourceNode
,X3DTimeDependentNode
,X3DUrlObject
- All Known Implementing Classes:
AudioClip
AudioClip provides audio data used by parent Sound nodes.
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the
org.web3d.x3d.jsail
classes.
AudioClip 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: when parent node is LoadSensor, apply containerField='children' (X3Dv4) or containerField='watchList' (X3Dv3). https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#fieldNameChanges
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondouble
Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefresh.double
Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefreshTimeLimit.Provide String value from inputOutput SFString field named description.double
Provide double value in seconds within allowed range of [-1,infinity) from outputOnly SFTime field named duration_changed.double
Provide double value in seconds within allowed range of [0,infinity) from outputOnly SFTime field named elapsedTime.boolean
Provide boolean value from inputOutput SFBool field named enabled.float
getGain()
Provide float value from inputOutput SFFloat field named gain.boolean
Provide boolean value from outputOnly SFBool field named isActive.boolean
Provide boolean value from outputOnly SFBool field named isPaused.boolean
getLoad()
Provide boolean value from inputOutput SFBool field named load.boolean
getLoop()
Provide boolean value from inputOutput SFBool field named loop.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.double
Provide double value in seconds from inputOutput SFTime field named pauseTime.float
getPitch()
Provide float value within allowed range of (0,infinity) from inputOutput SFFloat field named pitch.double
Provide double value in seconds from inputOutput SFTime field named resumeTime.double
Provide double value in seconds from inputOutput SFTime field named startTime.double
Provide double value in seconds from inputOutput SFTime field named stopTime.String[]
getUrl()
Provide array of String results from inputOutput MFString field named url.setAutoRefresh
(double newValue) Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefresh.setAutoRefreshTimeLimit
(double newValue) Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefreshTimeLimit.setDescription
(String newValue) Accessor method to assign String value to inputOutput SFString field named description.setEnabled
(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named enabled.setGain
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named gain.setLoad
(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named load.setLoop
(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named loop.setMetadata
(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.setPauseTime
(double newValue) Accessor method to assign double value in seconds to inputOutput SFTime field named pauseTime.setPitch
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named pitch.setResumeTime
(double newValue) Accessor method to assign double value in seconds to inputOutput SFTime field named resumeTime.setStartTime
(double newValue) Accessor method to assign double value in seconds to inputOutput SFTime field named startTime.setStopTime
(double newValue) Accessor method to assign double value in seconds to inputOutput SFTime field named stopTime.Accessor method to assign String array to inputOutput MFString field named url.
-
Method Details
-
getAutoRefresh
double getAutoRefresh()Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefresh.
Tooltip: autoRefresh defines interval in seconds before automatic reload of current url asset is performed.- Hint: if preceding file loading fails or load field is false, no refresh is performed.
- Hint: repeated refresh attempts to reload currently loaded entry of url list. If that fails, the browser retries other entries in the url list.
- Warning: automatically reloading content has security considerations and needs to be considered carefully.
- Specified by:
getAutoRefresh
in interfaceX3DUrlObject
- Returns:
- value of autoRefresh field
-
setAutoRefresh
Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefresh.
Tooltip: autoRefresh defines interval in seconds before automatic reload of current url asset is performed.- Hint: if preceding file loading fails or load field is false, no refresh is performed.
- Hint: repeated refresh attempts to reload currently loaded entry of url list. If that fails, the browser retries other entries in the url list.
- Warning: automatically reloading content has security considerations and needs to be considered carefully.
- Specified by:
setAutoRefresh
in interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the autoRefresh field.- Returns:
AudioClip
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getAutoRefreshTimeLimit
double getAutoRefreshTimeLimit()Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefreshTimeLimit.
Tooltip: autoRefreshTimeLimit defines maximum duration that automatic refresh activity can occur.- Hint: Automatic refresh is different than query and response timeouts performed by a networking library while sequentially attempting to retrieve addressed content from a url list.
- Warning: automatically reloading content has security considerations and needs to be considered carefully.
- Specified by:
getAutoRefreshTimeLimit
in interfaceX3DUrlObject
- Returns:
- value of autoRefreshTimeLimit field
-
setAutoRefreshTimeLimit
Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefreshTimeLimit.
Tooltip: autoRefreshTimeLimit defines maximum duration that automatic refresh activity can occur.- Hint: Automatic refresh is different than query and response timeouts performed by a networking library while sequentially attempting to retrieve addressed content from a url list.
- Warning: automatically reloading content has security considerations and needs to be considered carefully.
- Specified by:
setAutoRefreshTimeLimit
in interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the autoRefreshTimeLimit field.- Returns:
AudioClip
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getDescription
String getDescription()Provide String value from inputOutput SFString field named description.
Tooltip: Author-provided prose that describes intended purpose of the url asset.- 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:
getDescription
in interfaceX3DSoundNode
- Specified by:
getDescription
in interfaceX3DSoundSourceNode
- Specified by:
getDescription
in interfaceX3DTimeDependentNode
- Specified by:
getDescription
in interfaceX3DUrlObject
- Returns:
- value of description field
-
setDescription
Accessor method to assign String value to inputOutput SFString field named description.
Tooltip: Author-provided prose that describes intended purpose of the url asset.- 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:
setDescription
in interfaceX3DSoundNode
- Specified by:
setDescription
in interfaceX3DSoundSourceNode
- Specified by:
setDescription
in interfaceX3DTimeDependentNode
- Specified by:
setDescription
in interfaceX3DUrlObject
- 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.
- 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:
getElapsedTime
in interfaceX3DSoundSourceNode
- Specified by:
getElapsedTime
in interfaceX3DTimeDependentNode
- Returns:
- value of elapsedTime field
-
getEnabled
boolean getEnabled()Provide boolean value from inputOutput SFBool field named enabled.
Tooltip: Enables/disables node operation. *- Specified by:
getEnabled
in interfaceX3DSoundNode
- Specified by:
getEnabled
in interfaceX3DSoundSourceNode
- Returns:
- value of enabled field
-
setEnabled
Accessor method to assign boolean value to inputOutput SFBool field named enabled.
Tooltip: Enables/disables node operation. *- Specified by:
setEnabled
in interfaceX3DSoundNode
- Specified by:
setEnabled
in interfaceX3DSoundSourceNode
- Parameters:
newValue
- is new value for the enabled field.- Returns:
AudioClip
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getGain
float getGain()Provide float value from inputOutput SFFloat field named gain.
Tooltip: (-infinity,+infinity) The gain field is a factor that represents the amount of linear amplification to apply to the output of the node.- Warning: Decibel values shall not be used.
- Hint: Negative gain factors negate the input signal.
- Specified by:
getGain
in interfaceX3DSoundSourceNode
- Returns:
- value of gain field
-
setGain
Accessor method to assign float value to inputOutput SFFloat field named gain.
Tooltip: (-infinity,+infinity) The gain field is a factor that represents the amount of linear amplification to apply to the output of the node.- Warning: Decibel values shall not be used.
- Hint: Negative gain factors negate the input signal.
- Specified by:
setGain
in interfaceX3DSoundSourceNode
- Parameters:
newValue
- is new value for the gain field.- Returns:
AudioClip
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
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:
getIsActive
in interfaceX3DSoundSourceNode
- Specified by:
getIsActive
in 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:
getIsPaused
in interfaceX3DSoundSourceNode
- Specified by:
getIsPaused
in interfaceX3DTimeDependentNode
- Returns:
- value of isPaused field
-
getLoad
boolean getLoad()Provide boolean value from inputOutput SFBool field named load.
Tooltip: load=true means load immediately, load=false means defer loading or else unload a previously loaded scene.- Hint: allows author to design when Inline loading occurs via user interaction, event chains or scripting.
- Hint: use a separate LoadSensor node to detect when loading is complete.
- Specified by:
getLoad
in interfaceX3DUrlObject
- Returns:
- value of load field
-
setLoad
Accessor method to assign boolean value to inputOutput SFBool field named load.
Tooltip: load=true means load immediately, load=false means defer loading or else unload a previously loaded scene.- Hint: allows author to design when Inline loading occurs via user interaction, event chains or scripting.
- Hint: use a separate LoadSensor node to detect when loading is complete.
- Specified by:
setLoad
in interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the load field.- Returns:
AudioClip
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getLoop
boolean getLoop()Provide boolean value from inputOutput SFBool field named loop.
Tooltip: Repeat indefinitely when loop=true, repeat only once when loop=false. *- 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. *- 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 org.web3d.x3d.sai.Core.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/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#Metadata
- Specified by:
getMetadata
in interfaceX3DChildNode
- Specified by:
getMetadata
in interfaceX3DNode
- Specified by:
getMetadata
in interfaceX3DSoundNode
- Specified by:
getMetadata
in interfaceX3DSoundSourceNode
- Specified by:
getMetadata
in interfaceX3DTimeDependentNode
- Returns:
- value of metadata field
- See Also:
-
setMetadata
Accessor method to assign org.web3d.x3d.sai.Core.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/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#Metadata
- Specified by:
setMetadata
in interfaceX3DChildNode
- Specified by:
setMetadata
in interfaceX3DNode
- Specified by:
setMetadata
in interfaceX3DSoundNode
- Specified by:
setMetadata
in interfaceX3DSoundSourceNode
- Specified by:
setMetadata
in 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:
-
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:
getPauseTime
in interfaceX3DSoundSourceNode
- Specified by:
getPauseTime
in 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:
setPauseTime
in interfaceX3DSoundSourceNode
- Specified by:
setPauseTime
in 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.
- 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.
- 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:
getResumeTime
in interfaceX3DSoundSourceNode
- Specified by:
getResumeTime
in 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:
setResumeTime
in interfaceX3DSoundSourceNode
- Specified by:
setResumeTime
in 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:
getStartTime
in interfaceX3DSoundSourceNode
- Specified by:
getStartTime
in 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:
setStartTime
in interfaceX3DSoundSourceNode
- Specified by:
setStartTime
in 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:
getStopTime
in interfaceX3DSoundSourceNode
- Specified by:
getStopTime
in 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:
setStopTime
in interfaceX3DSoundSourceNode
- Specified by:
setStopTime
in 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
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:
getUrl
in 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:
setUrl
in 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).
-