[page:Object3D] →

# [name]

Crée un objet audio non-positionnel ( global ).
La [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API] est utilisée.

## Exemple de Code

`// create an AudioListener and add it to the camera const listener = new THREE.AudioListener(); camera.add( listener ); // create a global audio source const sound = new THREE.Audio( listener ); // load a sound and set it as the Audio object's buffer const audioLoader = new THREE.AudioLoader(); audioLoader.load( 'sounds/ambient.ogg', function( buffer ) { sound.setBuffer( buffer ); sound.setLoop( true ); sound.setVolume( 0.5 ); sound.play(); });`

## Exemples

[example:webaudio_sandbox webaudio / sandbox ]
[example:webaudio_visualizer webaudio / visualizer ]

## Constructeur

### [name]( [param:AudioListener listener] )

listener — (requis) instance d'[page:AudioListener AudioListener].

## Propriétés

### [property:Boolean autoplay]

Démarrage automatique de la lecture. La valeur par défaut est `false`.

### [property:AudioContext context]

L'[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext] du [page:AudioListener listener] passé au constructeur.

### [property:Number detune]

Modifie le ton, mesuré en centaines. +/- 100 est un demi-ton. +/- 1200 est un octave. La valeur par défaut est `0`.

### [property:Array filters]

Représente un tableau d'[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioNode AudioNodes]. Peut être utilisé pour appliquer une variété de filtres d'ordres inférieurs pour créer des effets sonores complexes. Dans la plupart des cas, le tableau contient des instances de [link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNodes]. Les filtres sont appliqués via [page:Audio.setFilter] ou [page:Audio.setFilters].

### [property:GainNode gain]

Un [link:https://developer.mozilla.org/en-US/docs/Web/API/GainNode GainNode] créé en utilisant [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createGain AudioContext.createGain]().

### [property:Boolean hasPlaybackControl]

Définit si la lecture peut-être contrôlée en utilisant les méthodes [page:Audio.play play](), [page:Audio.pause pause]() etc. La valeur par défaut est `true`.

### [property:Boolean isPlaying]

Indique si l'audio est en cours de lecture.

### [property:AudioListener listener]

Une reference à l'objet listener de cet audio.

### [property:Number playbackRate]

Vitesse de lecture. La valeur par défaut est `1`.

### [property:Number offset]

Un décalage temporel après lequel la lecture doit commencer. Équivalent au paramètre `offset` de [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). La valeur par défaut est `0`.

### [property:Number duration]

Écrase la durée de l'audio. Équivalent au paramètre `duration` de [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). La valeur par défaut est `undefined` afin de jour le buffer entier.

### [property:String source]

Un [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode AudioBufferSourceNode] créé en utilisant [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/createBufferSource AudioContext.createBufferSource]().

### [property:String sourceType]

Type de source audio. La valeur par défaut est 'empty'.

### [property:String type]

String indiquant le type, contenant 'Audio'.

## Méthodes

### [method:this connect]()

Connecte à la [page:Audio.source] audio. Ceci est utilisé en interne à l'initialisation et lors de l'ajout/retrait de filtres.

### [method:this disconnect]()

Déconnecte de la [page:Audio.source]. Ceci est utilisé en interne lors de l'ajout/retrait de filtres.

### [method:Float getDetune]()

Renvoie le detuning de l'oscillation en centaines.

### [method:BiquadFilterNode getFilter]()

Renvoie le premier élément du tableau [page:Audio.filters filters].

### [method:Array getFilters]()

Renvoie le tableau [page:Audio.filters filters].

### [method:Boolean getLoop]()

Renvoie la valeur de [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] (Indique si la lecture doit boucler).

### [method:GainNode getOutput]()

Renvoie le [page:Audio.gain gainNode].

### [method:Float getPlaybackRate]()

Renvoie la valeur de [page:Audio.playbackRate playbackRate].

### [method:Float getVolume]( value )

Renvoie le volume actuel.

### [method:this play]( delay )

Si [page:Audio.hasPlaybackControl hasPlaybackControl] est à true, la lecture se lance.

### [method:this pause]()

Si [page:Audio.hasPlaybackControl hasPlaybackControl] est à true, la lecture se met en pause.

### [method:undefined onEnded]()

Appelée automatiquement quand la lecture est terminée.

### [method:this setBuffer]( audioBuffer )

Met la [page:Audio.source source] à audioBuffer, et met le [page:Audio.sourceType sourceType] à 'buffer'.
Si [page:Audio.autoplay autoplay] est activé, la méthode démarrera également la lecture.

### [method:this setDetune]( [param:Float value] )

Définit le detuning de l'oscillation en centaines.

### [method:this setFilter]( filter )

Applique un noeud à filtre unique à l'audio.

### [method:this setFilters]( [param:Array value] )

value - tableau de filtres.
Applique un tableau de noeuds de filtres à l'audio.

### [method:this setLoop]( [param:Boolean value] )

Met [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] à `value` (Indique si la lecture doit boucler).

### [method:this setLoopStart]( [param:Float value] )

Met [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopStart source.loopStart] à `value`.

### [method:this setLoopEnd]( [param:Float value] )

Met [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loopEnd source.loopEnd] à `value`.

### [method:this setMediaElementSource]( mediaElement )

Définit le type d'objet passé en paramètre [link:https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement HTMLMediaElement] comme source de l'audio.
Met également [page:Audio.hasPlaybackControl hasPlaybackControl] à false.

### [method:this setMediaStreamSource]( mediaStream )

Définit le type d'objet passé en paramètre [link:https://developer.mozilla.org/en-US/docs/Web/API/MediaStream MediaStream] comme source de l'audio.
Met également [page:Audio.hasPlaybackControl hasPlaybackControl] à false.

### [method:this setNodeSource]( audioNode )

Met la [page:Audio.source source] à audioBuffer, et met le [page:Audio.sourceType sourceType] à 'audioNode'.
Met également [page:Audio.hasPlaybackControl hasPlaybackControl] à false.

### [method:this setPlaybackRate]( [param:Float value] )

Si [page:Audio.hasPlaybackControl hasPlaybackControl] est activé, mets le [page:Audio.playbackRate playbackRate] à `value`.

### [method:this setVolume]( [param:Float value] )

Modifie le volume.

### [method:this stop]()

Si [page:Audio.hasPlaybackControl hasPlaybackControl] est activé, la lecture est stoppée.

## Source

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]