OscillatorNode
L'interface OscillatorNode
représente un signal périodique, une sinusoïde par exemple. C'est un module de traitement audio AudioNode
qui crée un signal sinusoïdal à une fréquence donnée — c'est-à-dire génère une tonalité constante.
On crée un OscillatorNode
en utilisant la méthode AudioContext.createOscillator
(en-US). Il a toujours exactement une sortie, et aucune entrée. Ses propriétés par défaut (voir AudioNode
pour la définition) sont :
- Nombre d'entrées :
0
- Nombre de sorties :
1
- Mode de calcul des canaux :
max
- Nombre de canaux :
2
(propriété ignorée dans le mode de calcul par défaut) - Interprétation des canaux :
speakers
Propriétés
Hérite des propriétés de ses parents, AudioNode
.
OscillatorNode.frequency
(en-US)-
AudioParam
de type a-rate représentant la fréquence d'oscillation en Hertz (la propriété frequency est en lecture seule, mais sa sous-propriété value ne l'est pas). OscillatorNode.detune
(en-US)-
AudioParam
de type a-rate représentant le désaccordage de l' oscillation exprimé en cents (la propriété detune est en lecture seule, mais sa sous-propriété value ne l'est pas). OscillatorNode.type
(en-US)-
Chaîne de caractères indiquant la forme de l'onde générée. Différentes ondes produisent différentes tonalités. Les valeurs standard sont
"sine"
,"square"
,"sawtooth"
,"triangle"
et"custom"
. La valeur par défault is"sine"
.custom
permet d'utiliser unePeriodicWave
pour décrire une forme d'onde personnalisée.
Méthodes
Hérite des méthodes de ses parents, AudioNode
.
OscillatorNode.start()
(en-US)-
Cette méthode déclenche la lecture du son.
OscillatorNode.stop()
(en-US)-
Cette méthode interrompt la lecture du son.
OscillatorNode.setPeriodicWave()
(en-US)-
Cette méthode définit une
PeriodicWave
qui peut être utilisée pour donner sa forme à la sortie de l'oscillateur, quand on utilise l'attributtype = "custom"
. Elle remplace la méthode devenue obsolèteOscillatorNode.setWaveTable
.
Event handlers
OscillatorNode.onended
(en-US)-
Propriété utilisée pour assigner un gestionnaire d'évènement à l'évènement
ended
, qui est émis une fois que la lecture du son est terminée.
Exemples
L'exemple suivant montre une utilisation basique d'un AudioContext
pour créer un OscillatorNode
. Pour un exemple appliqué, jetez un œil à notre démo « Violent Theremin » (voir app.js
pour l'intégralité du code).
// crée un contexteaudio
var contexteAudio = new (window.AudioContext || window.webkitAudioContext)();
// create Oscillator node
var oscillator = contexteAudio.createOscillator();
oscillator.connect(contexteAudio.destination);
oscillator.type = 'square';
oscillator.frequency.value = 440; // valeur en hertz
oscillator.start();
Spécifications
Specification |
---|
Web Audio API # OscillatorNode |
Compatibilité des navigateurs
BCD tables only load in the browser