BaseAudioContext: phương thức createDelay()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
Phương thức createDelay() của
BaseAudioContext được dùng để tạo một DelayNode,
node này dùng để làm trễ tín hiệu âm thanh đầu vào một khoảng thời gian nhất định.
Note:
Hàm dựng DelayNode()
là cách được khuyến nghị để tạo một DelayNode; xem
Tạo một AudioNode.
Cú pháp
createDelay(maxDelayTime)
Tham số
maxDelayTimeOptional-
Khoảng thời gian tối đa, tính bằng giây, mà tín hiệu âm thanh có thể bị làm trễ. Phải nhỏ hơn 180 giây và mặc định là 1 giây nếu không được chỉ định.
Giá trị trả về
Một DelayNode. Giá trị mặc định của DelayNode.delayTime là 0 giây.
Ví dụ
Chúng tôi đã tạo một ví dụ cho phép bạn phát liên tục ba mẫu âm thanh khác nhau, xem create-delay (bạn cũng có thể xem mã nguồn). Nếu bạn chỉ nhấn các nút phát, các vòng lặp sẽ bắt đầu ngay; nếu bạn kéo các thanh trượt sang phải rồi nhấn nút phát, một độ trễ sẽ được thêm vào, nhờ đó các âm thanh lặp sẽ không bắt đầu phát ngay lập tức mà sau một khoảng ngắn.
const audioCtx = new AudioContext();
const synthDelay = audioCtx.createDelay(5.0);
// …
let synthSource;
playSynth.onclick = () => {
synthSource = audioCtx.createBufferSource();
synthSource.buffer = buffers[2];
synthSource.loop = true;
synthSource.start();
synthSource.connect(synthDelay);
synthDelay.connect(destination);
this.setAttribute("disabled", "disabled");
};
stopSynth.onclick = () => {
synthSource.disconnect(synthDelay);
synthDelay.disconnect(destination);
synthSource.stop();
playSynth.removeAttribute("disabled");
};
// …
let delay1;
rangeSynth.oninput = () => {
delay1 = rangeSynth.value;
synthDelay.delayTime.setValueAtTime(delay1, audioCtx.currentTime);
};
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Web Audio API> # dom-baseaudiocontext-createdelay> |