Esta tradução está incompleta. Por favor, ajude a traduzir este artigo.

A interface AudioContext  representa um gráfico de processamento de áudio construído a partir de módulos de áudio ligados, cada um representado por um AudioNode. Um contexto de áudio controla a criação dos nós que contém e a execução do processamento de áudio, ou decodificação. Você precisa criar um AudioContext antes de fazer qualquer outra coisa, pois tudo acontece dentro de um contexto..

Um AudioContextpode ser um alvo de eventos, portanto, ele implementa a interface EventTarget.

Construtor

AudioContext()
Cria e retorna um novo objeto AudioContext.

Propriedades

AudioContext.currentTime Somente leitura

Retorna um double representando um tempo cada vez maior de hardware em segundos usados ​​para agendamento. Começa em 0.

AudioContext.destination Somente leitura
Retorna um AudioDestinationNode representando o destino final de todo o áudio no contexto. Pode ser pensado como o dispositivo de renderização de áudio.
AudioContext.listener Somente leitura
Retorna o objeto  AudioListener, usado para especialização 3D
AudioContext.sampleRate Somente leitura
Retorna um float representando a taxa de amostragem (em amostras por segundo) usado por todos os nós neste contexto. A taxa de amostragem de um AudioContext não pode ser alterada.
AudioContext.state Somente leitura
Retorna o estado atual do AudioContext.
AudioContext.mozAudioChannelType Somente leitura
Usado para retornar o canal de áudio que o som toca em um AudioContext irá tocar em um dispositivo do Firefox OS.

Manipuladores de eventos

AudioContext.onstatechange
Um manipulador de evento que é executado quando um evento do tipo statechange dispara.

Isso ocorre quando o estado AudioContext muda, devido ao chamado de um dos métodos de mudança de estado (AudioContext.suspend, AudioContext.resume, or AudioContext.close).

Métodos

Também implementa métodos a partir da interface EventTarget.

AudioContext.close()

Fecha o contexto de áudio, liberando todos os recursos de áudio do sistema que ele usa.

AudioContext.createBuffer()
Cria um novo, objeto  AudioBuffer vázio, que pode ser preenchido por dados e reproduzido através de um AudioBufferSourceNode.
AudioContext.createBufferSource()
Cria um AudioBufferSourceNode, que pode ser usado para reproduzir e manipular dados de audio contidos dentro de um objeto AudioBuffer. AudioBuffer são criados usando AudioContext.createBuffer ou retornado por AudioContext.decodeAudioData quando decodifica com sucesso uma faixa de áudio.
AudioContext.createMediaElementSource()
Cria um MediaElementAudioSourceNode associado com um HTMLMediaElement. Isso pode ser usado para reproduzir e manipular o audio This can be used to play and manipulate audio dos elementos  <video> ou <audio>.
AudioContext.createMediaStreamSource()
Cria um MediaStreamAudioSourceNode associado com um MediaStream um fluxo (stream) de áudio que pode vir do microfone local do computador ou de outras fontes.
AudioContext.createMediaStreamDestination()
Cria um MediaStreamAudioDestinationNode associado com um MediaStream representando um fluxo (stream) de audio que pode ser armazenado em um arquivo local ou enviados para outro computador.
AudioContext.createScriptProcessor()
Cria um a ScriptProcessorNode, que pode ser usado para processamento de áudio direto via JavaScript.
AudioContext.createStereoPanner()
Cria um StereoPannerNode, que pode ser usado para aplicar uma panorâmica estéreo para uma fonte de áudio.
AudioContext.createAnalyser()
Creates an AnalyserNode, which can be used to expose audio time and frequency data and for example to create data visualisations.
AudioContext.createBiquadFilter()
Cria um BiquadFilterNode, que representa um filtro de segunda ordem configurável como vários tipos de filtros comuns diferentes: high-pass, low-pass, band-pass, etc.
AudioContext.createChannelMerger()
Cria um ChannelMergerNode, que é usado para combinar canais de múltiplos fluxos de áudio em um único fluxo de áudio.
AudioContext.createChannelSplitter()
Cria um ChannelSplitterNode, que é usado para acessar os canais individuais de um fluxo de áudio e processá-los separadamente.
AudioContext.createConvolver()
Cria um ConvolverNode, que pode ser usado para aplicar efeitos de convolução ao seu gráfico de áudio, por exemplo, um efeito de reverberação.
AudioContext.createDelay()

Cria um DelayNode, que é usado para atrasar o sinal de áudio recebido por uma certa quantia. Este nó também é útil para criar loops de feedback em um gráfico de API de Web Audio.

AudioContext.createDynamicsCompressor()
Cria um DynamicsCompressorNode, que pode ser usada para aplicar compressão acústica para um sínal de áudio.
AudioContext.createGain()
Cria um GainNode, que pode ser usado para controlar o volume total do gráfico de áudio.
AudioContext.createIIRFilter()
Cria um IIRFilterNode, que representa um filtro de segunda ordem configurável como vários tipos de filtros comuns diferentes.
AudioContext.createOscillator()
Cria um OscillatorNode, uma fonte que representa uma forma de onda periódica. Isso basicamente gera um tom.
AudioContext.createPanner()
Cria um PannerNode, que é usado para spatializar um fluxo de áudio recebido no espaço 3D.
AudioContext.createPeriodicWave()
Cria um PeriodicWave, usado para definir uma forma de onda periódica que pode ser usada para determinar a saída de um OscillatorNode.
AudioContext.createWaveShaper()
Cria um WaveShaperNode, que é usado para implementar efeitos de distorção não-lineares.
AudioContext.createAudioWorker()

Cria um AudioWorkerNode, que pode interagir com um segmento de trabalho da Web para gerar, processar ou analisar o áudio diretamente. Isso foi adicionado à especificação em 29 de agosto de 2014, e ainda não foi implementado em nenhum navegador.

AudioContext.decodeAudioData()
Decodifica assincronamente dados de arquivos de áudio contidos em ArrayBuffer. Nesse caso, o ArrayBuffer geralmente é carregado a partir de um atributo de resposta XMLHttpRequest's definir o responseType para arraybuffer. Esse método funciona apenas em arquivos completos, não fragmentos de arquivos de áudio.
AudioContext.resume()
Retoma a progressão do tempo em um contexto de áudio que anteriormente foi suspenso.
AudioContext.suspend()
Suspende a progressão do tempo no contexto de áudio, interrompendo temporariamente o acesso ao hardware de áudio e reduzindo o uso da CPU / bateria no processo.

Métodos obsoletos

AudioContext.createJavaScriptNode()
Cria um JavaScriptNode, usado para para processamento de áudio direto via JavaScript. Este método é obsoleto e foi substituído por AudioContext.createScriptProcessor().
AudioContext.createWaveTable()
Cria um WaveTableNode, usado para definir uma forma de onda periódica. Este método é obsoleto e foi substituído por AudioContext.createPeriodicWave ().

Exemplos

 

Declaração básica de contexto de áudio:

var audioCtx = new AudioContext();

 

Cruzar a variante do navegador:

 

var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();

var oscillatorNode = audioCtx.createOscillator();
var gainNode = audioCtx.createGain();
var finish = audioCtx.destination;
// etc.

Especificações

Especificação Estado Comentário
Web Audio API
The definition of 'AudioContext' in that specification.
Rascunho atual  

Compatibilidade de navegadores

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 10.0webkit
35
25.0 (25.0)  Não suportado 15.0webkit
22
6.0webkit
createStereoPanner() 42.0 37.0 (37.0)  Não suportado Não suportado Não suportado
onstatechange, state, suspend(), resume() (Yes) 40.0 (40.0) Não suportado Não suportado Não suportado
Feature Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support Não suportado 37.0 (37.0)  2.2 Não suportado Não suportado Não suportado (Yes)
createStereoPanner() Não suportado (Yes) (Yes) Não suportado Não suportado Não suportado (Yes)
onstatechange, state, suspend(), resume() Não suportado (Yes) (Yes) Não suportado Não suportado Não suportado (Yes)

Veja também

Etiquetas do documento e colaboradores

Colaboradores desta página: GPrimola, EduardoFerr, jpmedley
Última atualização por: GPrimola,