aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/api/baseaudiocontext/createbuffersource/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/web/api/baseaudiocontext/createbuffersource/index.md')
-rw-r--r--files/fr/web/api/baseaudiocontext/createbuffersource/index.md93
1 files changed, 93 insertions, 0 deletions
diff --git a/files/fr/web/api/baseaudiocontext/createbuffersource/index.md b/files/fr/web/api/baseaudiocontext/createbuffersource/index.md
new file mode 100644
index 0000000000..9a9dfe08cf
--- /dev/null
+++ b/files/fr/web/api/baseaudiocontext/createbuffersource/index.md
@@ -0,0 +1,93 @@
+---
+title: BaseAudioContext.createBufferSource()
+slug: Web/API/BaseAudioContext/createBufferSource
+translation_of: Web/API/BaseAudioContext/createBufferSource
+---
+<p>{{ APIRef("Web Audio API") }}</p>
+
+<p>La méthode <code>createBufferSource()</code> de l’interface {{ domxref("BaseAudioContext") }} est utilisée pour créer un nouveau {{ domxref("AudioBufferSourceNode") }}, qui peut être employé pour jouer des données audio contenues dans un objet {{ domxref("AudioBuffer") }}.</p>
+
+<p>Des {{ domxref("AudioBuffer") }} peuvent être créés en utilisant {{domxref("BaseAudioContext.createBuffer")}}, ou sont retournés par la méthode {{domxref("BaseAudioContext.decodeAudioData")}} quand elle a terminé de décoder une piste audio avec succès.</p>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">var <var>source</var> = <var>baseAudioContext</var>.createBufferSource();</pre>
+
+<h3 id="Retourne">Retourne</h3>
+
+<p>Un {{domxref("AudioBufferSourceNode")}}.</p>
+
+<h2 id="Exemple">Exemple</h2>
+
+<p>Dans cet exemple, on crée un tampon de deux secondes, on le remplit avec du bruit blanc, puis on le joue via un {{ domxref("AudioBufferSourceNode") }}. Les commentaires devraient expliquer clairement ce qui se passe.</p>
+
+<div class="note">
+<p><strong>Note :</strong> Vous pouvez également <a href="https://mdn.github.io/webaudio-examples/audio-buffer/">exécuter le code en direct</a>, ou <a href="https://github.com/mdn/webaudio-examples/blob/master/audio-buffer/index.html">voir la source</a>.</p>
+</div>
+
+<pre class="brush: js">var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
+var button = document.querySelector('button');
+var pre = document.querySelector('pre');
+var myScript = document.querySelector('script');
+
+pre.innerHTML = myScript.innerHTML;
+
+// Stéréo
+var channels = 2;
+// Crée un tampon stéréo vide de deux secondes au
+// taux d’échantillonage de l’AudioContext
+var frameCount = audioCtx.sampleRate * 2.0;
+
+var myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
+
+button.onclick = function() {
+ // Remplit le tampon avec du bruit blanc ;
+ // simplement des valeurs aléatoires entre -1.0 et 1.0
+ for (var channel = 0; channel &lt; channels; channel++) {
+ // Ceci nous donne l’ArrayBuffer qui contient les données
+ var nowBuffering = myArrayBuffer.getChannelData(channel);
+ for (var i = 0; i &lt; frameCount; i++) {
+ // Math.random() est parmi [0; 1.0]
+ // audio doit être parmi [-1.0; 1.0]
+ nowBuffering[i] = Math.random() * 2 - 1;
+ }
+ }
+
+ // Obtient un AudioBufferSourceNode.
+ // C’est l’AudioNode à utiliser quand nous voulons jouer un AudioBuffer
+ var source = audioCtx.createBufferSource();
+ // renseigne l’AudioBufferSourceNode avec notre tampon
+ source.buffer = myArrayBuffer;
+ // connecte l’AudioBufferSourceNode à la
+ // destination afin qu’on puisse entendre le son
+ source.connect(audioCtx.destination);
+ // commence la lecture de la source
+ source.start();
+}</pre>
+
+<h2 id="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Statut</th>
+ <th scope="col">Commentaire</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('Web Audio API', '#dom-baseaudiocontext-createbuffersource', 'createBufferSource()')}}</td>
+ <td>{{Spec2('Web Audio API')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2>
+
+<p>{{Compat("api.BaseAudioContext.createBufferSource")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li><a href="/fr/docs/Web/API/Web_Audio_API/Using_Web_Audio_API">Utiliser la Web Audio API</a></li>
+</ul>