BaseAudioContext: phương thức createConvolver()

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 createConvolver() của giao diện BaseAudioContext tạo một ConvolverNode, thường được dùng để áp dụng hiệu ứng hồi âm cho âm thanh của bạn. Xem định nghĩa Convolution trong đặc tả để biết thêm thông tin.

Note: Hàm dựng ConvolverNode() là cách được khuyến nghị để tạo một ConvolverNode; xem Tạo một AudioNode.

Cú pháp

js
createConvolver()

Tham số

Không có.

Giá trị trả về

Một ConvolverNode.

Ví dụ

Tạo một convolver node

Ví dụ sau cho thấy cách dùng một AudioContext để tạo một convolver node. Bạn tạo một AudioBuffer chứa một mẫu âm thanh sẽ được dùng làm môi trường để định hình phép tích chập (gọi là impulse response) rồi áp dụng nó cho convolver. Ví dụ bên dưới dùng một mẫu ngắn tiếng đám đông trong phòng hòa nhạc, nên hiệu ứng hồi âm được áp dụng sẽ rất sâu và vang.

Để xem ví dụ/thông tin ứng dụng đầy đủ hơn, hãy xem bản demo Voice-change-O-matic của chúng tôi (xem app.js để biết đoạn mã được trích bên dưới).

js
const audioCtx = new AudioContext();
// …

const convolver = audioCtx.createConvolver();
// …

// Lấy track âm thanh qua fetch() cho convolver node
try {
  const response = await fetch(
    "https://mdn.github.io/voice-change-o-matic/audio/concert-crowd.ogg",
  );
  const arrayBuffer = await response.arrayBuffer();
  const decodedAudio = await audioCtx.decodeAudioData(arrayBuffer);
  convolver.buffer = decodedAudio;
} catch (error) {
  console.error(
    `Unable to fetch the audio file: ${name} Error: ${err.message}`,
  );
}

Thông số kỹ thuật

Specification
Web Audio API
# dom-baseaudiocontext-createconvolver

Khả năng tương thích với trình duyệt

Xem thêm