--- title: OscillatorNode slug: Web/API/OscillatorNode translation_of: Web/API/OscillatorNode ---
L'interface OscillatorNode
représente un signal périodique, une sinusoïde par exemple. C'est un module de traitement audio {{domxref("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 {{domxref("AudioContext.createOscillator")}}. Il a toujours exactement une sortie, et aucune entrée. Ses propriétés par défaut (voir {{domxref("AudioNode")}} pour la définition) sont :
0
1
max
2
(propriété ignorée dans le mode de calcul par défaut)speakers
Hérite des propriétés de ses parents, {{domxref("AudioNode")}}.
"sine"
, "square"
, "sawtooth"
, "triangle"
et "custom"
. La valeur par défault is "sine"
. custom
permet d'utiliser une {{domxref("PeriodicWave")}} pour décrire une forme d'onde personnalisée.Hérite des méthodes de ses parents, {{domxref("AudioNode")}}.
type = "custom"
. Elle remplace la méthode devenue obsolète {{domxref("OscillatorNode.setWaveTable")}}.ended
, qui est émis une fois que la lecture du son est terminée.L'exemple suivant montre une utilisation basique d'un {{ domxref("AudioContext") }} pour créer un OscillatorNode
. Pour un exemple appliqué, jetez un oeil à notre Violent Theremin demo (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écification | Statut | Commentaire |
---|---|---|
{{SpecName('Web Audio API', '#the-oscillatornode-interface', 'OscillatorNode')}} | {{Spec2('Web Audio API')}} |
{{Compat("api.OscillatorNode")}}