La méthode createGain de l'interface AudioContext
crée un GainNode
qui peut être utilisé pour contrôler le volume global du graphe audio.
Syntaxe
var contexteAudio = new AudioContext(); var gainNode = contexteAudio.createGain();
Retourne
Un GainNode
.
Exemple
L'exemple suivant montre l'utilisation d'un AudioContext
pour créer un GainNode
, qui sert à activer et désactiver le son au clic d'un bouton, en changeant la valeur de la propriété gain.
L'extrait de code ci-dessous ne fonctionne pas tel quel - pour un exemple complet qui fonctionne, consulter la démo Voice-change-O-matic (et son code source.)
<div> <a class="mute">Mute button</a> </div>
var contexteAudio = new (window.AudioContext || window.webkitAudioContext)(); var gainNode = contexteAudio.createGain(); var mute = document.querySelector('.mute'); var source; if (navigator.getUserMedia) { navigator.getUserMedia ( // contraintes - cette app nécessite seulement l'audio { audio: true }, // fonction de rappel en cas de succès function(flux) { source = contexteAudio.createMediaStreamSource(flux); }, // fonction de rappel en cas d'erreur function(err) { console.log("L'erreur à la noix suivante vient de se produire : " + err); } ); } else { console.log('getUserMedia n'est pas supporté par votre navigateur !'); } source.connect(gainNode); gainNode.connect(contexteAudio.destination); ... boutonSon.onclick = couperSon; function couperSon() { if(boutonSon.id == "") { gainNode.gain.value = 0; boutonSon.id = "activated"; boutonSon.innerHTML = "Activer le son"; } else { gainNode.gain.value = 1; boutonSon.id = ""; boutonSon.innerHTML = "Couper le son"; } }
Spécifications
Spécification | Status | Commentaire |
---|---|---|
Web Audio API La définition de 'createGain()' dans cette spécification. |
Version de travail |
Compatibilité navigateur
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 10.0webkit | 25.0 (25.0) | Pas de support | 15.0webkit 22 (unprefixed) |
6.0webkit |
Feature | Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|
Basic support | ? | 26.0 | 1.2 | ? | ? | ? | 33.0 |
Voir aussi
Étiquettes et contributeurs liés au document
Étiquettes :
Contributeurs à cette page :
marie-ototoi,
Threstle
Dernière mise à jour par :
marie-ototoi,