Créer un contexte audio ####################### `Documentation MDN `_ .. warning:: Attention au niveau sonore ! .. code-block:: javascript // on créé une référence à l'interface AudioContext selon ce qui est disponible (si window.AudioContext n'est pas disponible on essaye avec webkitAudioContext) var AudioContext = window.AudioContext || window.webkitAudioContext; // on créé un objet contexte qui nous permet de nous connecter au système audio de l'ordinateur, et de lui envoyer du son var contexte_audio = new AudioContext(); // on créé un oscillateur var oscillateur = contexte_audio.createOscillator(); // on le connecte à notre contexte audio oscillateur.connect( contexte_audio.destination ); // on démarre l'oscillateur oscillateur.start(); // au cas où le contexte audio nécéssite d'être activé par une action de l'utilisateur document.body.addEventListener( 'click', function () { // si le contexte est en pause if ( contexte_audio.state === 'suspended' ) { // on lève cette suspension contexte_audio.resume(); } }) étape par étape *************** .. image:: diagrammes/base/base-contexte-01.svg Au départ, il y a la sortie son… Mais aucune connexion n'est présente. ---- .. code-block:: javascript // on créé une référence à l'interface AudioContext selon ce qui est disponible (si window.AudioContext n'est pas disponible on essaye avec webkitAudioContext) var AudioContext = window.AudioContext || window.webkitAudioContext; // on créé un objet contexte qui nous permet de nous connecter au système audio de l'ordinateur, et de lui envoyer du son var contexte_audio = new AudioContext(); .. image:: diagrammes/base/base-contexte-02.svg On créé un contexte audio, connecté à la sortie son. ---- .. code-block:: javascript // on créé un oscillateur var oscillateur = contexte_audio.createOscillator(); .. image:: diagrammes/base/base-contexte-03.svg On créé un oscillateur. Il n'est connecté à rien. ---- .. code-block:: javascript // on le connecte à notre contexte audio oscillateur.connect( contexte_audio.destination ); .. image:: diagrammes/base/base-contexte-04.svg On le connecte au contexte audio. ---- .. code-block:: javascript // on démarre l'oscillateur oscillateur.start(); .. image:: diagrammes/base/base-contexte-05.svg On démarre l'oscillateur.