[page:Object3D] →

# [name]

Crea un oggetto audio non posizionale (globale).
Utilizza le [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API API Web Audio].

## Codice di Esempio

`// crea un AudioListener e aggiungilo alla camera const listener = new THREE.AudioListener(); camera.add( listener ); // crea una sorgente audio globale const sound = new THREE.Audio( listener ); // carica un suono e impostalo come buffer dell'oggetto audio const audioLoader = new THREE.AudioLoader(); audioLoader.load( 'sounds/ambient.ogg', function( buffer ) { sound.setBuffer( buffer ); sound.setLoop( true ); sound.setVolume( 0.5 ); sound.play(); });`

## Esempi

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

## Costruttore

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

listener — (obbligatorio) istanza [page:AudioListener AudioListener].

## Proprietà

### [property:Boolean autoplay]

Indica se avviare la riproduzione automaticamente. Il valore predefinito è `false`.

### [property:AudioContext context]

L'[link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext] del [page:AudioListener listener] passato nel costruttore.

### [property:Number detune]

Modifica l'intonazione, misurata in centesimi. +/- 100 è un semitono. +/- 1200 è un'ottava. Il valore predefinito è `0`.

### [property:Array filters]

Rappresenta un'array di [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioNode AudioNode]. Può essere usato per applicare una varietà di filtri low-order per creare effetti sonori più complessi. In molti casi, l'array contiene istanze di [link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNode]. I filtri sono impostati tramite [page:Audio.setFilter] o [page:Audio.setFilters].

### [property:GainNode gain]

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

### [property:Boolean hasPlaybackControl]

Indica se la riproduzione può essere controllata usando i metodi [page:Audio.play play](), [page:Audio.pause pause]() etc. Il valore di default è `true`.

### [property:Boolean isPlaying]

Indica se l'audio è attualmente in riproduzione.

### [property:AudioListener listener]

Un riferimento all'oggetto listener di questo audio.

### [property:Number playbackRate]

Velocità di riproduzione. Il valore predefinito è `1`.

### [property:Number offset]

Un offset al momento in cui deve iniziare la riproduzione all'interno del buffer audio. È uguale al parametro audio di [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). Il valore predefinito è `0`.

### [property:Number duration]

Sovrascrive la durata dell'audio. È uguale al parametro `duration` di [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). Il valore predefinito è `undefined` per riprodurre l'intero buffer.

### [property:AudioNode source]

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

### [property:String sourceType]

Il tipo di sorgente audio. Il valore predefinito è la stringa 'empty'.

### [property:String type]

Stringa che denota il tipo, impostato ad 'Audio'.

## Metodi

### [method:this connect]()

Permette di collegarsi all'[page:Audio.source]. Questo metodo viene utilizzato internamente durante l'inizializzazione e durante l'impostazione/eliminazione dei filtri.

### [method:this disconnect]()

Permette di scollegarsi dall'[page:Audio.source]. Questo metodo viene utilizzato internamente durante l'impostazione/eliminazione dei filtri.

### [method:Float getDetune]()

Restituisce il detuning dell'oscillazione in centesimi.

### [method:BiquadFilterNode getFilter]()

Restituisce il primo elemento dell'array [page:Audio.filters filters].

### [method:Array getFilters]()

Restituisce l'array [page:Audio.filters filters].

### [method:Boolean getLoop]()

Restituisce il valore di [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] (se la riproduzione deve essere ripetuta).

### [method:GainNode getOutput]()

Restituisce il [page:Audio.gain gainNode].

### [method:Float getPlaybackRate]()

Restituisce il valore di [page:Audio.playbackRate playbackRate].

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

Restituisce il volume corrente.

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

Se [page:Audio.hasPlaybackControl hasPlaybackControl] è impostato a true, inizia la riproduzione.

### [method:this pause]()

Se [page:Audio.hasPlaybackControl hasPlaybackControl] è impostato a true, mette in pausa la riproduzione.

### [method:undefined onEnded]()

Viene chiamato automaticamente quando la riproduzione termina.

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

Imposta la [page:Audio.source sorgente] su audioBuffer, e imposta il [page:Audio.sourceType sourceType] a 'buffer'.
Se la riproduzione è in [page:Audio.autoplay autoplay], avvia anche la riproduzione.

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

Definisce il detuning dell'oscillazione in centesimi.

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

Applica un singolo filtro all'audio.

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

value - array di filtri.
Applica un array di filtri all'audio.

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

Imposta [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] a `value` (se la riproduzione deve andare in loop).

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

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

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

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

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

Applica l'oggetto passato come parametro, di tipo [link:https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement HTMLMediaElement], come sorgente di questo audio.
Inoltre imposta [page:Audio.hasPlaybackControl hasPlaybackControl] a false.

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

Applica l'oggetto passato come parametro, di tipo [link:https://developer.mozilla.org/en-US/docs/Web/API/MediaStream MediaStream], come sorgente di questo audio.
Inoltre imposta [page:Audio.hasPlaybackControl hasPlaybackControl] a false.

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

Imposta la [page:Audio.source sorgente] dell'audioBuffer, e imposta [page:Audio.sourceType sourceType] a 'audioNode'.
Inoltre imposta [page:Audio.hasPlaybackControl hasPlaybackControl] a false.

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

Se [page:Audio.hasPlaybackControl hasPlaybackControl] è abilitato, imposta il [page:Audio.playbackRate playbackRate] a `value`.

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

Imposta il volume.

### [method:this stop]()

Se [page:Audio.hasPlaybackControl hasPlaybackControl] è abilitato, ferma la riproduzione.

## Source

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