[page:Object3D] →

# [name]

Cria um objeto de áudio não posicional ( global ).
Utiliza a [link:https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API Web Audio API].

## Exemplo de Código

`// 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(); });`

## Exemplos

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

## Construtor

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

listener — (obrigatório) instância [page:AudioListener AudioListener].

## Propriedades

### [property:Boolean autoplay]

Se deve iniciar a reprodução automaticamente. O padrão é `false`.

### [property:AudioContext context]

O [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext AudioContext] do [page:AudioListener listener] dado no construtor.

### [property:Number detune]

Modifica o tom, medido em centenas. +/- 100 é um semitom. +/- 1200 é uma oitava. O padrão é `0`.

### [property:Array filters]

Representa um array de [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioNode AudioNodes]. Pode ser usado para aplicar uma variedade de filtros de baixa ordem para criar efeitos sonoros mais complexos. Na maioria dos casos, o array contém instâncias de [link:https://developer.mozilla.org/en-US/docs/Web/API/BiquadFilterNode BiquadFilterNodes]. Filtros são definidos por [page:Audio.setFilter] ou [page:Audio.setFilters].

### [property:GainNode gain]

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

### [property:Boolean hasPlaybackControl]

Se a reprodução pode ser controlada usando os métodos [page:Audio.play play](), [page:Audio.pause pause]() etc. O padrão é `true`.

### [property:Boolean isPlaying]

Se o áudio está sendo reproduzido no momento.

### [property:AudioListener listener]

Uma referência ao objeto ouvinte (listener) deste áudio.

### [property:Number playbackRate]

Velocidade de reprodução. O padrão é `1`.

### [property:Number offset]

Um deslocamento para o tempo dentro do buffer de áudio em que a reprodução deve começar. Igual ao parâmetro `offset` do [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). O padrão é `0`.

### [property:Number duration]

Substitui a duração do áudio. O mesmo que o parâmetro `duration` do [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/start AudioBufferSourceNode.start](). O padrão é `undefined` para reproduzir todo o buffer.

### [property:AudioNode source]

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

### [property:String sourceType]

Tipo da fonte de áudio. O padrão é a string 'empty'.

### [property:String type]

String que denota o tipo, definido como 'Audio'.

## Métodos

### [method:this connect]()

Conecta-se ao [page:Audio.source]. Isso é usado internamente na inicialização e quando configurar / remover filtros.

### [method:this disconnect]()

Desconecta-se do [page:Audio.source]. Isso é usado internamente quando configurar / remover filtros.

### [method:Float getDetune]()

Retorna a desafinação da oscilação em centenas.

### [method:BiquadFilterNode getFilter]()

Retorna o primeiro elemento do array [page:Audio.filters filters].

### [method:Array getFilters]()

Retorna o array [page:Audio.filters filters].

### [method:Boolean getLoop]()

Retorna o valor do [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] (se a reprodução deve fazer um loop).

### [method:GainNode getOutput]()

Retorna o [page:Audio.gain gainNode].

### [method:Float getPlaybackRate]()

Retorna o valor do [page:Audio.playbackRate playbackRate].

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

Retorna o volume atual.

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

Se [page:Audio.hasPlaybackControl hasPlaybackControl] é true, começa a reprodução.

### [method:this pause]()

Se [page:Audio.hasPlaybackControl hasPlaybackControl] é true, pausa a reprodução.

### [method:undefined onEnded]()

Chamado automaticamente quando a reprodução termina.

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

Configura a [page:Audio.source source] para o audioBuffer e define [page:Audio.sourceType sourceType] para 'buffer'.
Se [page:Audio.autoplay autoplay], também inicia a reprodução.

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

Define a desafinação da oscilação em centenas.

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

Aplica um único nó de filtro ao áudio.

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

value -array de filtros.
Aplica um array de nós de filtro ao áudio.

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

Configura [link:https://developer.mozilla.org/en-US/docs/Web/API/AudioBufferSourceNode/loop source.loop] para `value` (se a reprodução deve fazer um loop).

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

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

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

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

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

Aplica o objeto dado do tipo [link:https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement HTMLMediaElement] como a fonte deste áudio.
Também define [page:Audio.hasPlaybackControl hasPlaybackControl] para false.

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

Aplica o objeto dado do tipo [link:https://developer.mozilla.org/en-US/docs/Web/API/MediaStream MediaStream] como a fonte deste áudio.
Também define [page:Audio.hasPlaybackControl hasPlaybackControl] para false.

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

Configura o [page:Audio.source source] para o audioBuffer e define [page:Audio.sourceType sourceType] para 'audioNode'.
Também define [page:Audio.hasPlaybackControl hasPlaybackControl] para false.

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

Se [page:Audio.hasPlaybackControl hasPlaybackControl] está ativado, configura o [page:Audio.playbackRate playbackRate] para `value`.

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

Configura o volume.

### [method:this stop]()

Se [page:Audio.hasPlaybackControl hasPlaybackControl] está ativado, para a reprodução.

## Source

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