BaseAudioContext

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.

Giao diện BaseAudioContext của Web Audio API đóng vai trò là định nghĩa cơ sở cho các đồ thị xử lý âm thanh trực tuyến và ngoại tuyến, lần lượt được biểu diễn bởi AudioContextOfflineAudioContext. Bạn không dùng trực tiếp BaseAudioContext; thay vào đó, bạn dùng các tính năng của nó thông qua một trong hai giao diện kế thừa này.

BaseAudioContext có thể là đích của các sự kiện, do đó nó triển khai giao diện EventTarget.

EventTarget BaseAudioContext

Thuộc tính thể hiện

BaseAudioContext.audioWorklet Read only Secure context

Trả về đối tượng AudioWorklet, có thể dùng để tạo và quản lý các AudioNode trong đó mã JavaScript triển khai giao diện AudioWorkletProcessor chạy nền để xử lý dữ liệu âm thanh.

BaseAudioContext.currentTime Read only

Trả về một số double biểu diễn thời gian phần cứng bằng giây, luôn tăng dần và được dùng để lập lịch. Nó bắt đầu từ 0.

BaseAudioContext.destination Read only

Trả về một AudioDestinationNode biểu diễn đích cuối cùng của mọi âm thanh trong ngữ cảnh. Có thể hiểu nó là thiết bị kết xuất âm thanh.

BaseAudioContext.listener Read only

Trả về đối tượng AudioListener, dùng cho định vị không gian 3D.

BaseAudioContext.sampleRate Read only

Trả về một số float biểu diễn tốc độ lấy mẫu (số mẫu mỗi giây) được dùng bởi mọi node trong ngữ cảnh này. Tốc độ lấy mẫu của một AudioContext không thể thay đổi.

BaseAudioContext.state Read only

Trả về trạng thái hiện tại của AudioContext.

Phương thức thể hiện

Cũng triển khai các phương thức từ giao diện EventTarget.

BaseAudioContext.createAnalyser()

Tạo một AnalyserNode, có thể dùng để phơi bày dữ liệu âm thanh theo miền thời gian và tần số, chẳng hạn để tạo trực quan hóa dữ liệu.

BaseAudioContext.createBiquadFilter()

Tạo một BiquadFilterNode, biểu diễn bộ lọc bậc hai có thể cấu hình thành nhiều kiểu bộ lọc thông dụng khác nhau: high-pass, low-pass, band-pass, v.v.

BaseAudioContext.createBuffer()

Tạo một đối tượng AudioBuffer mới, rỗng, sau đó có thể nạp dữ liệu vào và phát qua AudioBufferSourceNode.

BaseAudioContext.createBufferSource()

Tạo một AudioBufferSourceNode, có thể dùng để phát và thao tác dữ liệu âm thanh chứa trong một đối tượng AudioBuffer. Các AudioBuffer được tạo bằng AudioContext.createBuffer() hoặc được trả về bởi AudioContext.decodeAudioData() khi giải mã thành công một track âm thanh.

BaseAudioContext.createConstantSource()

Tạo một đối tượng ConstantSourceNode, là một nguồn âm thanh liên tục xuất tín hiệu âm thanh đơn âm (một kênh) mà mọi mẫu đều có cùng một giá trị.

BaseAudioContext.createChannelMerger()

Tạo một ChannelMergerNode, dùng để kết hợp các kênh từ nhiều luồng âm thanh thành một luồng âm thanh duy nhất.

BaseAudioContext.createChannelSplitter()

Tạo một ChannelSplitterNode, dùng để truy cập từng kênh riêng lẻ của một luồng âm thanh và xử lý chúng riêng biệt.

BaseAudioContext.createConvolver()

Tạo một ConvolverNode, có thể dùng để áp dụng các hiệu ứng tích chập lên đồ thị âm thanh của bạn, ví dụ như hiệu ứng hồi âm.

BaseAudioContext.createDelay()

Tạo một DelayNode, dùng để làm trễ tín hiệu âm thanh đầu vào một khoảng thời gian nhất định. Node này cũng hữu ích để tạo vòng lặp phản hồi trong đồ thị Web Audio API.

BaseAudioContext.createDynamicsCompressor()

Tạo một DynamicsCompressorNode, có thể dùng để áp dụng nén âm học lên tín hiệu âm thanh.

BaseAudioContext.createGain()

Tạo một GainNode, có thể dùng để điều khiển âm lượng tổng thể của đồ thị âm thanh.

BaseAudioContext.createIIRFilter()

Tạo một IIRFilterNode, biểu diễn một bộ lọc bậc hai có thể cấu hình thành nhiều kiểu bộ lọc thông dụng khác nhau.

BaseAudioContext.createOscillator()

Tạo một OscillatorNode, một nguồn biểu diễn dạng sóng tuần hoàn. Về cơ bản, nó tạo ra một âm sắc.

BaseAudioContext.createPanner()

Tạo một PannerNode, dùng để định vị không gian cho một luồng âm thanh đầu vào trong không gian 3D.

BaseAudioContext.createPeriodicWave()

Tạo một PeriodicWave, dùng để định nghĩa một dạng sóng tuần hoàn có thể được dùng để xác định đầu ra của một OscillatorNode.

BaseAudioContext.createScriptProcessor() Deprecated

Tạo một ScriptProcessorNode, có thể dùng để xử lý âm thanh trực tiếp bằng JavaScript.

BaseAudioContext.createStereoPanner()

Tạo một StereoPannerNode, có thể dùng để áp dụng hiệu ứng panning stereo cho một nguồn âm thanh.

BaseAudioContext.createWaveShaper()

Tạo một WaveShaperNode, dùng để triển khai các hiệu ứng méo phi tuyến.

BaseAudioContext.decodeAudioData()

Giải mã bất đồng bộ dữ liệu tệp âm thanh chứa trong một ArrayBuffer. Trong trường hợp này, ArrayBuffer thường được tải từ thuộc tính response của XMLHttpRequest sau khi đặt responseType thành arraybuffer. Phương thức này chỉ hoạt động với tệp hoàn chỉnh, không phải các mảnh của tệp âm thanh.

Sự kiện

statechange

Kích hoạt khi trạng thái của AudioContext thay đổi do gọi một trong các phương thức đổi trạng thái (AudioContext.suspend, AudioContext.resume, hoặc AudioContext.close).

Ví dụ

js
const audioContext = new AudioContext();

const oscillatorNode = audioContext.createOscillator();
const gainNode = audioContext.createGain();
const finish = audioContext.destination;

Thông số kỹ thuật

Specification
Web Audio API
# BaseAudioContext

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

Xem thêm