AudioBufferSourceNode: thuộc tính buffer
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Thuộc tính buffer của giao diện AudioBufferSourceNode cung cấp khả năng phát lại âm thanh bằng cách sử dụng một AudioBuffer làm nguồn dữ liệu âm thanh.
Nếu thuộc tính buffer được đặt thành giá trị null, nút sẽ tạo ra một kênh duy nhất chứa sự im lặng (tức là mọi mẫu đều bằng 0).
Giá trị
Một AudioBuffer chứa dữ liệu biểu diễn âm thanh mà nút sẽ phát.
Ngoại lệ
InvalidStateErrorDOMException-
Được ném ra nếu thuộc tính
bufferđã được đặt thành một giá trị khácnull, rồi lại tiếp tục được đặt thành một giá trị khácnulllần nữa.
Ví dụ
Note: Để xem một ví dụ hoạt động hoàn chỉnh, hãy xem mã này chạy trực tiếp, hoặc xem mã nguồn.
js
const myArrayBuffer = audioCtx.createBuffer(2, frameCount, audioCtx.sampleRate);
button.onclick = () => {
// Fill the buffer with white noise;
// just random values between -1.0 and 1.0
for (let channel = 0; channel < channels; channel++) {
// This gives us the actual ArrayBuffer that contains the data
const nowBuffering = myArrayBuffer.getChannelData(channel);
for (let i = 0; i < frameCount; i++) {
// Math.random() is in [0; 1.0]
// audio needs to be in [-1.0; 1.0]
nowBuffering[i] = Math.random() * 2 - 1;
}
}
// Get an AudioBufferSourceNode.
// This is the AudioNode to use when we want to play an AudioBuffer
const source = audioCtx.createBufferSource();
// set the buffer in the AudioBufferSourceNode
source.buffer = myArrayBuffer;
};
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Web Audio API> # dom-audiobuffersourcenode-buffer> |