Interface AudioClip

All Superinterfaces:
X3DChildNode, X3DNode, X3DSoundSourceNode, X3DTimeDependentNode, X3DUrlObject
All Known Implementing Classes:
AudioClip

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.
  • 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).
See Also:
SAI Java Specification, X3D Abstract Specification: AudioClip, X3D Tooltips: AudioClip, X3D Scene Authoring Hints: Audio
  • Method Summary

    Modifier and Type Method Description
    java.lang.String getDescription()
    Provide String value from inputOutput SFString field named description.
    double getDuration()
    Provide double value in seconds within allowed range of [-1,infinity) from outputOnly SFTime field named duration_changed.
    double getElapsedTime()
    Provide double value in seconds within allowed range of [0,infinity) from outputOnly SFTime field named elapsedTime.
    boolean getEnabled()
    Provide boolean value from inputOutput SFBool field named enabled.
    float getGain()
    Provide float value from inputOutput SFFloat field named gain.
    boolean getIsActive()
    Provide boolean value from outputOnly SFBool field named isActive.
    boolean getIsPaused()
    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.
    X3DMetadataObject getMetadata()
    Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    double getPauseTime()
    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 getRefresh()
    Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named refresh.
    double getResumeTime()
    Provide double value in seconds from inputOutput SFTime field named resumeTime.
    double getStartTime()
    Provide double value in seconds from inputOutput SFTime field named startTime.
    double getStopTime()
    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.
    AudioClip setDescription​(java.lang.String newValue)
    Accessor method to assign String value to inputOutput SFString field named description.
    AudioClip setEnabled​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named enabled.
    AudioClip setGain​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named gain.
    AudioClip setLoad​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named load.
    AudioClip setLoop​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named loop.
    AudioClip setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    AudioClip setPauseTime​(double newValue)
    Accessor method to assign double value in seconds to inputOutput SFTime field named pauseTime.
    AudioClip setPitch​(float newValue)
    Accessor method to assign float value to inputOutput SFFloat field named pitch.
    AudioClip setRefresh​(double newValue)
    Accessor method to assign double value in seconds to inputOutput SFTime field named refresh.
    AudioClip setResumeTime​(double newValue)
    Accessor method to assign double value in seconds to inputOutput SFTime field named resumeTime.
    AudioClip setStartTime​(double newValue)
    Accessor method to assign double value in seconds to inputOutput SFTime field named startTime.
    AudioClip setStopTime​(double newValue)
    Accessor method to assign double value in seconds to inputOutput SFTime field named stopTime.
    AudioClip setUrl​(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 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 interface X3DSoundSourceNode
      Specified by:
      getDescription in interface X3DTimeDependentNode
      Specified by:
      getDescription in interface X3DUrlObject
      Returns:
      value of description field
    • setDescription

      AudioClip setDescription​(java.lang.String newValue)
      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 interface X3DSoundSourceNode
      Specified by:
      setDescription in interface X3DTimeDependentNode
      Specified by:
      setDescription in interface X3DUrlObject
      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 interface X3DSoundSourceNode
      Specified by:
      getElapsedTime in interface X3DTimeDependentNode
      Returns:
      value of elapsedTime field
    • getEnabled

      boolean getEnabled()
      Provide boolean value from inputOutput SFBool field named enabled.
      Specified by:
      getEnabled in interface X3DSoundSourceNode
      Returns:
      value of enabled field
    • setEnabled

      AudioClip setEnabled​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named enabled.
      Specified by:
      setEnabled in interface X3DSoundSourceNode
      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 interface X3DSoundSourceNode
      Returns:
      value of gain field
    • setGain

      AudioClip setGain​(float newValue)
      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 interface X3DSoundSourceNode
      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 interface X3DSoundSourceNode
      Specified by:
      getIsActive in interface X3DTimeDependentNode
      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 interface X3DSoundSourceNode
      Specified by:
      getIsPaused in interface X3DTimeDependentNode
      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 interface X3DUrlObject
      Returns:
      value of load field
    • setLoad

      AudioClip setLoad​(boolean newValue)
      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 interface X3DUrlObject
      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

      AudioClip setLoop​(boolean newValue)
      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.
      Specified by:
      getMetadata in interface X3DChildNode
      Specified by:
      getMetadata in interface X3DNode
      Specified by:
      getMetadata in interface X3DSoundSourceNode
      Specified by:
      getMetadata in interface X3DTimeDependentNode
      Returns:
      value of metadata field
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

      AudioClip setMetadata​(X3DMetadataObject newValue)
      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.
      Specified by:
      setMetadata in interface X3DChildNode
      Specified by:
      setMetadata in interface X3DNode
      Specified by:
      setMetadata in interface X3DSoundSourceNode
      Specified by:
      setMetadata in interface X3DTimeDependentNode
      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:
      getPauseTime in interface X3DSoundSourceNode
      Specified by:
      getPauseTime in interface X3DTimeDependentNode
      Returns:
      value of pauseTime field
    • setPauseTime

      AudioClip setPauseTime​(double newValue)
      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 interface X3DSoundSourceNode
      Specified by:
      setPauseTime in interface X3DTimeDependentNode
      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

      AudioClip setPitch​(float newValue)
      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).
    • getRefresh

      double getRefresh()
      Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named refresh.

      Tooltip: refresh 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:
      getRefresh in interface X3DUrlObject
      Returns:
      value of refresh field
    • setRefresh

      AudioClip setRefresh​(double newValue)
      Accessor method to assign double value in seconds to inputOutput SFTime field named refresh.

      Tooltip: refresh 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:
      setRefresh in interface X3DUrlObject
      Parameters:
      newValue - is new value for the refresh 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 interface X3DSoundSourceNode
      Specified by:
      getResumeTime in interface X3DTimeDependentNode
      Returns:
      value of resumeTime field
    • setResumeTime

      AudioClip setResumeTime​(double newValue)
      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 interface X3DSoundSourceNode
      Specified by:
      setResumeTime in interface X3DTimeDependentNode
      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 interface X3DSoundSourceNode
      Specified by:
      getStartTime in interface X3DTimeDependentNode
      Returns:
      value of startTime field
    • setStartTime

      AudioClip setStartTime​(double newValue)
      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 interface X3DSoundSourceNode
      Specified by:
      setStartTime in interface X3DTimeDependentNode
      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 interface X3DSoundSourceNode
      Specified by:
      getStopTime in interface X3DTimeDependentNode
      Returns:
      value of stopTime field
    • setStopTime

      AudioClip setStopTime​(double newValue)
      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 interface X3DSoundSourceNode
      Specified by:
      setStopTime in interface X3DTimeDependentNode
      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:
      getUrl in interface X3DUrlObject
      Returns:
      value of url field
    • setUrl

      AudioClip setUrl​(java.lang.String[] newValue)
      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 interface X3DUrlObject
      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).