AudioParam
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 AudioParam
représente un paramètre audio, en général un paramètre d'un AudioNode
tel qu'un GainNode.gain
. On peut lui donner une valeur spécifique ou définir une variation de valeur qui intervient à un certain moment et selon un certain fonctionnement.
Il y a deux sortes de AudioParam
, a-rate et k-rate :
- Un
AudioParam
a-rate réévalue la valeur du paramètre audio pour chaque trame d'échantillons du signal audio. - Un
AudioParam
k-rate utilise la même valeur de paramètre audio initial pour l'ensemble du bloc traité, c'est-à-dire 128 échantillons.
Chaque AudioNode
définit lequel de ses paramètres sont a-rate ou k-rate.
Chaque AudioParam
a une liste d'événements, initialement vide, qui définit quand et comment les valeurs changent. Si cette liste n'est pas vide, les modifications faites directement avec AudioParam.value
sont ignorées. Cette liste d'événements permet de planifier les changements qui doivent se produire à des moments très précis à l'aide de courbes d'automatisation chronologiques arbitraires. Les informations de temps utilisées sont celles définies par AudioContext.currentTime
.
Propriétés
Hérite des propriétés de son parent, AudioNode
.
AudioParam.defaultValue
Lecture seule-
Volume initial tel que défini par l'
AudioNode
qui crée l'AudioParam
. AudioParam.maxValue
Lecture seule-
Valeur maximum de la plage nominale (effective).
AudioParam.minValue
Lecture seule-
Valeur minimum de la plage nominale (effective).
AudioParam.value
-
Volume, exprimé sous forme de nombre flottant, initialement défini par la valeur de
AudioParam.defaultValue
. Même s'il peut être modifié, toute modification qui a lieu alors que des événements d'automatisation sont prévus - événements programmés en utilisant les méthodes de laAudioParam
- est ignorée, sans lever aucune exception
Méthodes
Hérite des propriétés de son parent, AudioNode.
AudioParam.setValueAtTime()
-
Planifie un changement de la valeur d'
AudioParam
à un moment précis,startTime
, tel que mesuré par rapport àAudioContext.currentTime
. La nouvelle valeur est passée en argument. AudioParam.linearRampToValueAtTime()
-
Planifie un changement de la valeur d'
AudioParam
. Le changement commence à l'heure prévue pour l'événement précédent, évolue selon une rampe linéaire jusqu'à la nouvelle valeur passée dans l'argumentvalue
, et atteint la nouvelle valeur à l'heure indiquée par le paramètreendTime
. AudioParam.exponentialRampToValueAtTime()
-
Planifie un changement de la valeur d'
AudioParam
. Le changement commence à l'heure prévue pour l'événement précédent, suit une rampe exponentielle jusqu'à la nouvelle valeur passée dans l'argumentvalue
, et atteint la nouvelle valeur à l'heure indiquée par le paramètreendTime
. Les rampes exponentielles sont utiles lors du changement de fréquence ou de taux de lecture en raison de la façon dont l'oreille humaine fonctionne. AudioParam.setTargetAtTime()
-
Planifie le début d'un changement de la valeur d'
AudioParam
. Le changement commence à l'heure spécifiée par l'argumentstartTime
et de façon exponentielle tend vers la valeur donnée par le paramètretarget
. Le taux de décroissance exponentielle est définie par le paramètretimeConstant
. C'est le temps nécessaire à un système continu linéaire du premier ordre invariant dans le temps pour atteindre la valeur de 1 - 1 / e (environ 63,2%) donné une réponse d'entrée de l'étape (passage de 0 à 1 en valeur), Plus il est grand, plus la transition sera facile. Ceci est utile pour la décroissance ou la libération de portions d'enveloppes. AudioParam.setValueCurveAtTime()
-
Planifie des valeurs de
AudioParam
selon un jeu de valeurs, défini par le paramètrevalues
(Float32Array
), mis à l'échelle pour s'adapter à l'intervalle de temps donné, en commençant àstartTime
. AudioParam.cancelScheduledValues()
-
Annule toutes les modifications futures prévues du
AudioParam
. AudioParam.cancelAndHoldAtTime()
-
Annule toutes les modifications futures prévues du
AudioParam
mais maintient sa valeur à un certain moment, en attendant que d'autres changements soient effectués. La nouvelle valeur est passée en argument.
Exemples
Ce premier exemple simple montre la définition de la valeur de gain
d'un GainNode
. gain
est un exemple de paramètre audio de type a-rate
, car sa valeur peut potentiellement être différente pour chaque trame d'échantillon.
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();
var gainNode = audioCtx.createGain();
gainNode.gain.value = 0;
Ce deuxième exemple montre la définition de plusieurs paramètres d'un BiquadFilterNode
. Ce sont des exemples de paramètre audio de type k-rate AudioParam's, comme les valeurs sont définies une fois pour l'ensemble des échantillons.
var AudioContext = window.AudioContext || window.webkitAudioContext;
var audioCtx = new AudioContext();
var biquadFilter = audioCtx.createBiquadFilter();
biquadFilter.type = "lowshelf";
biquadFilter.frequency.value = 1000;
biquadFilter.gain.value = 25;
Spécifications
Specification |
---|
Web Audio API # AudioParam |
Compatibilité des navigateurs
BCD tables only load in the browser