BaseAudioContext

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.

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 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 BaseAudioContext

Propriétés

BaseAudioContext.audioWorklet Expérimental Lecture seule

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

BaseAudioContext.currentTime 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 Lecture seule

Renvoie un AudioDestinationNode 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 Lecture seule

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

BaseAudioContext.sampleRate 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 Lecture seule

Renvoie l'état actuel de l'AudioContext.

Gestionnaires d'événements

BaseAudioContext.onstatechange

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, AudioContext.resume, ou AudioContext.close).

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()

Crée un objet ConstantSourceNode, 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 ou renvoyés par AudioContext.decodeAudioData lorsqu'il décode avec succès une piste audio.

BaseAudioContext.createScriptProcessor()

Crée un ScriptProcessorNode, qui peut être utilisé pour le traitement audio direct via JavaScript.

BaseAudioContext.createStereoPanner()

Crée un StereoPannerNode, qui peut être utilisé pour appliquer un panoramique stéréo à une source audio.

BaseAudioContext.createAnalyser()

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()

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

BaseAudioContext.createChannelSplitter()

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

BaseAudioContext.createConvolver()

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

BaseAudioContext.createDelay()

Crée un DelayNode, 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()

Crée un DynamicsCompressorNode, 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()

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

BaseAudioContext.createOscillator()

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, 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()

Crée un WaveShaperNode, qui est utilisé pour implémenter des effets de distorsion non linéaires.

BaseAudioContext.decodeAudioData()

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()

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

Voir aussi