--- title: AudioBufferSourceNode.buffer slug: Web/API/AudioBufferSourceNode/buffer translation_of: Web/API/AudioBufferSourceNode/buffer ---
{{ APIRef("Web Audio API") }}
La propriété buffer de l'interface {{ domxref("AudioBufferSourceNode") }} donne la possibilité de lire un son en utilisant un {{domxref("AudioBuffer")}} comme ressource audio.
Si la propriété buffer a la valeur NULL, elle définit un canal unique silencieux (chaque échantillon vaut 0).
AudioBufferSourceNode.buffer = soundBuffer;
Un {{domxref("AudioBuffer")}} qui contient les données représentant le son que le noeud va lire.
Note: pour un exemple complet, voir le code interprété, ou le code source.
var myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
button.onclick = function() {
// Remplit le buffer avec du bruit blanc;
// valeurs aléatoires entre -1.0 et 1.0
for (var channel = 0; channel < channels; channel++) {
// Crée le ArrayBuffer qui contient effectivement les données
var nowBuffering = myArrayBuffer.getChannelData(channel);
for (var i = 0; i < frameCount; i++) {
// Math.random() is in [0; 1.0]
// audio doit être compris entre [-1.0; 1.0]
nowBuffering[i] = Math.random() * 2 - 1;
}
}
// Crée un AudioBufferSourceNode.
// C'est le AudioNode à utiliser pour jouer un AudioBuffer
var source = audioCtx.createBufferSource();
// Définit le buffer dans l'AudioBufferSourceNode
source.buffer = myArrayBuffer;
| Spécification | Statut | Commentaire |
|---|---|---|
| {{SpecName("Web Audio API", "#widl-AudioBufferSourceNode-buffer", "buffer")}} | {{Spec2("Web Audio API")}} | Définition initiale |
| Fonctionnalité | Chrome | Edge | Firefox (Gecko)[2] | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|---|
| Support basique | {{CompatNo}}[1] | {{CompatVersionUnknown}} | {{CompatGeckoDesktop("23.0")}} | {{CompatNo}} | 15 {{property_prefix("webkit")}} 22 |
6 {{property_prefix("webkit")}} |
Propriété detune |
{{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatGeckoDesktop("40.0")}} | {{CompatNo}} | {{CompatUnknown}} | {{CompatUnknown}} |
| Fonctionnalité | Android | Chrome | Edge | Firefox Mobile (Gecko)[2] | Firefox OS | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|---|---|---|
| Support basique | {{CompatNo}} | 28 {{property_prefix("webkit")}} | {{CompatVersionUnknown}} | {{CompatGeckoMobile("25.0")}} | 1.2 | {{CompatNo}} | {{CompatNo}} | 6 {{property_prefix("webkit")}} |
Propriété detune |
{{CompatNo}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatNo}} | {{CompatNo}} | {{CompatUnknown}} |
[1] supprimé dans Chrome 44.0. Etait supporté avec un préfixe webkit depuis la version 14.
[2] Firefox ne gère pas correctement la valeur null. Au lieu de produire un noeud avec un seul canal silencieux, le noeud devient inutilisable et est ignoré si on essaie de le connecter à un autre noeud.
{{page("/en-US/docs/Web/API/AudioBufferSourceNode","See_also")}}