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
.
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
, ouAudioContext.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 unAudioBufferSourceNode
. 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 objetAudioBuffer
. LesAudioBuffer
sont créés à l'aide deAudioContext.createBuffer
ou renvoyés parAudioContext.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'unOscillatorNode
. 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'attributresponse
d'unXMLHttpRequest
après avoir défini leresponseType
surarraybuffer
. 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:
var audioCtx = new AudioContext();
Variante de nagivateur croisé:
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