1. Web
  2. Les API Web
  3. AudioBufferSourceNode
  4. AudioBufferSourceNode.buffer

Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

AudioBufferSourceNode.buffer

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

La propriété buffer de l'interface AudioBufferSourceNode donne la possibilité de lire un son en utilisant un objet 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 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, ou le code source correspondant.

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

Spécification
Web Audio API
# dom-audiobuffersourcenode-buffer

Compatibilité navigateurs

Voir aussi

Aider à améliorer MDN

Apprendre à contribuer

Cette page a été modifiée le par les contributeur·ice·s du MDN.

AltStyle によって変換されたページ (->オリジナル) /