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 AudioContext và OfflineAudioContext. 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.
Thuộc tính thể hiện
BaseAudioContext.audioWorkletRead only Secure context-
Trả về đối tượng
AudioWorklet, có thể dùng để tạo và quản lý cácAudioNodetrong đó mã JavaScript triển khai giao diệnAudioWorkletProcessorchạy nền để xử lý dữ liệu âm thanh. BaseAudioContext.currentTimeRead 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.destinationRead only-
Trả về một
AudioDestinationNodebiể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.listenerRead only-
Trả về đối tượng
AudioListener, dùng cho định vị không gian 3D. BaseAudioContext.sampleRateRead 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
AudioContextkhông thể thay đổi. BaseAudioContext.stateRead 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
AudioBuffermới, rỗng, sau đó có thể nạp dữ liệu vào và phát quaAudioBufferSourceNode. 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ượngAudioBuffer. CácAudioBufferđược tạo bằngAudioContext.createBuffer()hoặc được trả về bởiAudioContext.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ộtOscillatorNode. 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,ArrayBufferthường được tải từ thuộc tínhresponsecủaXMLHttpRequestsau khi đặtresponseTypethànharraybuffer. 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
AudioContextthay đổi do gọi một trong các phương thức đổi trạng thái (AudioContext.suspend,AudioContext.resume, hoặcAudioContext.close).
Ví dụ
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> |