BaseAudioContext
================

L'interface `BaseAudioContext` agit comme une définition de base pour les graphiques de traitement audio en ligne et hors ligne, comme représenté par `AudioContext` et `OfflineAudioContext` (en-US) respectivement. Vous n'utiliseriez pas `BaseAudioContext` directement — vous utiliseriez ses fonctionnalités via l'une de ces deux interfaces héréditaires.

Un `BaseAudioContext` peut être une cible d'événements, il implémente donc l'interface `EventTarget`.

EventTarget

BaseAudioContextPropriétés
----------

`BaseAudioContext.audioWorklet` (en-US) 
Expérimental
 Lecture seule 

Renvoie l'objet `AudioWorklet`, utilisé pour créer des AudioNodes personnalisés avec traitement JavaScript.

`BaseAudioContext.currentTime` (en-US) Lecture seule 

Renvoie un double représentant une durée matérielle toujours croissante en secondes utilisée pour la planification. Il commence à `0`.

`BaseAudioContext.destination` (en-US) Lecture seule 

Renvoie un `AudioDestinationNode` (en-US) représentant la destination finale de tout l'audio dans le contexte. Il peut être considéré comme le périphérique de rendu audio.

`BaseAudioContext.listener` (en-US) Lecture seule 

Renvoie l'objet `AudioListener`, utilisé pour la spatialisation 3D.

`BaseAudioContext.sampleRate` (en-US) Lecture seule 

Renvoie un float représentant la fréquence d'échantillonnage (en échantillons par seconde) utilisée par tous les nœuds dans ce contexte. La fréquence d'échantillonnage d'un `AudioContext` ne peut pas être modifiée.

`BaseAudioContext.state` (en-US) Lecture seule 

Renvoie l'état actuel de l'`AudioContext`.

### Gestionnaires d'événements

`BaseAudioContext.onstatechange` (en-US)

Un gestionnaire d'événements qui s'exécute lorsqu'un événement de type `statechange` s'est déclenché. Cela se produit lorsque l'état de l'`AudioContext` change, en raison de l'appel de l'une des méthodes de changement d'état (`AudioContext.suspend` (en-US), `AudioContext.resume` (en-US), ou `AudioContext.close` (en-US)).

Méthodes
--------

*Implémente également les méthodes de l'interface* `EventTarget`.

`BaseAudioContext.createBuffer()`

Crée un nouvel objet `AudioBuffer` vide, qui peut ensuite être rempli de données et lu via un `AudioBufferSourceNode`.

`BaseAudioContext.createConstantSource()` (en-US)

Crée un objet `ConstantSourceNode` (en-US), qui est une source audio qui émet en continu un signal sonore monophonique (un canal) dont les échantillons ont tous la même valeur.

`BaseAudioContext.createBufferSource()`

Crée un `AudioBufferSourceNode`, qui peut être utilisé pour lire et manipuler des données audio contenues dans un objet `AudioBuffer`. Les `AudioBuffer` sont créés à l'aide de `AudioContext.createBuffer` (en-US) ou renvoyés par `AudioContext.decodeAudioData` (en-US) lorsqu'il décode avec succès une piste audio.

`BaseAudioContext.createScriptProcessor()` (en-US)

Crée un `ScriptProcessorNode` (en-US), qui peut être utilisé pour le traitement audio direct via JavaScript.

`BaseAudioContext.createStereoPanner()` (en-US)

Crée un `StereoPannerNode` (en-US), qui peut être utilisé pour appliquer un panoramique stéréo à une source audio.

`BaseAudioContext.createAnalyser()` (en-US)

Crée un `AnalyserNode`, qui peut être utilisé pour exposer les données de temps et de fréquence audio et par exemple pour créer des visualisations de données.

`BaseAudioContext.createBiquadFilter()`

Crée un `BiquadFilterNode`, qui représente un filtre du second ordre configurable en plusieurs types de filtres courants: passe-haut, passe-bas, passe-bande, etc.

`BaseAudioContext.createChannelMerger()` (en-US)

Crée un `ChannelMergerNode` (en-US), qui est utilisé pour combiner les canaux de plusieurs flux audio en un seul flux audio.

`BaseAudioContext.createChannelSplitter()` (en-US)

Crée un `ChannelSplitterNode` (en-US), qui est utilisé pour accéder aux canaux individuels d'un flux audio et les traiter séparément.

`BaseAudioContext.createConvolver()` (en-US)

Crée un `ConvolverNode` (en-US), qui peut être utilisé pour appliquer des effets de convolution à votre graphique audio, par exemple un effet de réverbération.

`BaseAudioContext.createDelay()` (en-US)

Crée un `DelayNode` (en-US), qui est utilisé pour retarder le signal audio entrant d'une certaine quantité. Ce nœud est également utile pour créer des boucles de rétroaction dans un graphique d'API Web Audio.

`BaseAudioContext.createDynamicsCompressor()` (en-US)

Crée un `DynamicsCompressorNode` (en-US), qui peut être utilisé pour appliquer une compression acoustique à un signal audio.

`BaseAudioContext.createGain()`

Crée un `GainNode`, qui peut être utilisé pour contrôler le volume global du graphique audio.

`BaseAudioContext.createIIRFilter()` (en-US)

Crée un `IIRFilterNode` (en-US), qui représente un filtre du second ordre configurable en plusieurs types de filtres communs différents.

`BaseAudioContext.createOscillator()` (en-US)

Crée un `OscillatorNode`, une source représentant une forme d'one périodique. Cela génère essentiellement un ton.

`BaseAudioContext.createPanner()`

Crée un `PannerNode` (en-US), qui est utilisé pour spatialiser un flux audio entrant dans l'espace 3D.

`BaseAudioContext.createPeriodicWave()`

Crée un `PeriodicWave`, utilisé pour définir une forme d'one périodique qui peut être utilisée pour déterminer la sortie d'un `OscillatorNode`.

`BaseAudioContext.createWaveShaper()` (en-US)

Crée un `WaveShaperNode` (en-US), qui est utilisé pour implémenter des effets de distorsion non linéaires.

`BaseAudioContext.decodeAudioData()` (en-US)

Décode de manière asynchrone les données de fichiers audio contenues dans un `ArrayBuffer`. Dans ce cas, le ArrayBuffer est généralement chargé à partir de l'attribut `response` d'un `XMLHttpRequest` après avoir défini le `responseType` sur `arraybuffer`. Cette méthode ne foncionne que sur des fichiers complets et non sur des fragments de fichiers audio.

`BaseAudioContext.resume()` (en-US)

Reprend la progression du temps dans un contexte audio précédemment suspendu / mis en pause.

Exemples
--------

Déclaration de context audio de base:


```js
var audioCtx = new AudioContext();
```


Variante de nagivateur croisé:


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

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

Spécifications
--------------

| Specification |
| --- |
| Web Audio API # BaseAudioContext |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* Utilisation de l'API Web Audio (en-US)
* `AudioContext`
* `OfflineAudioContext` (en-US)