--- title: AudioBufferSourceNode.buffer slug: Web/API/AudioBufferSourceNode/buffer translation_of: Web/API/AudioBufferSourceNode/buffer browser-compat: api.AudioBufferSourceNode.buffer --- {{APIRef("Web Audio API")}} La propriété **`buffer`** de l'interface [`AudioBufferSourceNode`](/fr/docs/Web/API/AudioBufferSourceNode) donne la possibilité de lire un son en utilisant un objet [`AudioBuffer`](/fr/docs/Web/API/AudioBuffer) comme ressource audio. Si la propriété `buffer` a la valeur `null`, le nœud génère un canal unique silencieux (chaque échantillon vaut `0`). ## Syntaxe ```js AudioBufferSourceNode.buffer = soundBuffer; ``` ### Valeur Un objet [`AudioBuffer`](/fr/docs/Web/API/AudioBuffer) qui contient les données représentant le son que le nœud va lire. ## Exemple > **Note :** Pour un exemple complet, voir [cette démonstration](https://mdn.github.io/webaudio-examples/audio-buffer/), ou [le code source correspondant](https://github.com/mdn/webaudio-examples/blob/master/audio-buffer/index.html). ```js let AudioContext = window.AudioContext || window.webkitAudioContext; let audioCtx; // Stereo let channels = 2; function init() { audioCtx = new AudioContext(); } button.onclick = function() { if(!audioCtx) { init(); } // On crée un tampon stéréo vide de deux secondes // qui utilise l'échantillonage de AudioContext let frameCount = audioCtx.sampleRate * 2.0; let myArrayBuffer = audioCtx.createBuffer(channels, frameCount, audioCtx.sampleRate); // On remplit le buffer avec du bruit blanc ; // soit des valeurs entre -1.0 et 1.0 for (let channel = 0; channel < channels; channel++) { // Voici le calcul du tableau réel qui contient // les données let nowBuffering = myArrayBuffer.getChannelData(channel); for (let i = 0; i < frameCount; i++) { // Math.random() donne une valeur sur [0; 1.0] // audio doit être sur [-1.0; 1.0] nowBuffering[i] = Math.random() * 2 - 1; } } // On récupère un AudioBufferSourceNode. // C'est l'objet AudioNode à utiliser pour lire // un AudioBuffer let source = audioCtx.createBufferSource(); // on passe le buffer avec AudioBufferSourceNode source.buffer = myArrayBuffer; // on connecte le nœud AudioBufferSourceNode à // la destination afin d'entendre le son source.connect(audioCtx.destination); // on lance la lecture source.start(); source.onended = () => { console.log('Bruit blanc terminé'); } } ``` ## Spécifications {{Specifications}} ## Compatibilité navigateurs {{Compat}} ## Voir aussi - [Utiliser l'API Web Audio](/fr/docs/Web/API/Web_Audio_API/Using_Web_Audio_API) - [L'API Web Audio](/fr/docs/Web/API/Web_Audio_API)