AudioContext

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.

* Some parts of this feature may have varying levels of support.

Giao diện AudioContext biểu diễn một đồ thị xử lý âm thanh được xây dựng từ các mô-đun âm thanh được liên kết với nhau, mỗi mô-đun được biểu diễn bởi một AudioNode.

Một ngữ cảnh âm thanh điều khiển cả việc tạo các nút mà nó chứa lẫn việc thực thi xử lý hoặc giải mã âm thanh. Bạn cần tạo một AudioContext trước khi làm bất kỳ việc gì khác, vì mọi thứ đều diễn ra bên trong một ngữ cảnh. Bạn nên tạo một AudioContext rồi tái sử dụng nó thay vì khởi tạo cái mới mỗi lần, và việc dùng một AudioContext duy nhất cho nhiều nguồn âm thanh và pipeline khác nhau cùng lúc là hoàn toàn ổn.

EventTarget BaseAudioContext AudioContext

Hàm tạo

AudioContext()

Tạo và trả về một đối tượng AudioContext mới.

Thuộc tính thể hiện

Cũng kế thừa các thuộc tính từ giao diện cha của nó, BaseAudioContext.

AudioContext.baseLatency Read only

Trả về số giây độ trễ xử lý phát sinh khi AudioContext truyền âm thanh từ AudioDestinationNode sang hệ thống con âm thanh.

AudioContext.outputLatency Read only

Trả về giá trị ước tính của độ trễ đầu ra của ngữ cảnh âm thanh hiện tại.

AudioContext.sinkId Read only Experimental Secure context

Trả về sink ID của thiết bị đầu ra âm thanh hiện tại.

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

Cũng kế thừa các phương thức từ giao diện cha của nó, BaseAudioContext.

AudioContext.close()

Đóng ngữ cảnh âm thanh, giải phóng mọi tài nguyên âm thanh hệ thống mà nó đang sử dụng.

AudioContext.createMediaElementSource()

Tạo một MediaElementAudioSourceNode gắn với một HTMLMediaElement. Có thể dùng để phát và xử lý âm thanh từ các phần tử <video> hoặc <audio>.

AudioContext.createMediaStreamSource()

Tạo một MediaStreamAudioSourceNode gắn với một MediaStream biểu diễn một luồng âm thanh có thể đến từ micro cục bộ hoặc các nguồn khác.

AudioContext.createMediaStreamDestination()

Tạo một MediaStreamAudioDestinationNode gắn với một MediaStream biểu diễn một luồng âm thanh có thể được lưu vào tệp cục bộ hoặc gửi tới máy tính khác.

AudioContext.createMediaStreamTrackSource()

Tạo một MediaStreamTrackAudioSourceNode gắn với một track luồng phương tiện.

AudioContext.getOutputTimestamp()

Trả về một đối tượng AudioTimestamp mới chứa hai giá trị dấu thời gian âm thanh liên quan đến ngữ cảnh âm thanh hiện tại.

AudioContext.resume()

Tiếp tục dòng thời gian trong một ngữ cảnh âm thanh trước đó đã bị tạm dừng.

AudioContext.setSinkId() Experimental Secure context

Thiết lập thiết bị đầu ra âm thanh cho AudioContext.

AudioContext.suspend()

Tạm dừng dòng thời gian trong ngữ cảnh âm thanh, tạm thời ngừng truy cập phần cứng âm thanh và giảm mức sử dụng CPU/pin trong quá trình đó.

Sự kiện

sinkchange Experimental

Kích hoạt khi thiết bị đầu ra âm thanh (và do đó là AudioContext.sinkId) đã thay đổi.

Ví dụ

Khai báo một audio context cơ bản:

js
const audioCtx = new AudioContext();

const oscillatorNode = audioCtx.createOscillator();
const gainNode = audioCtx.createGain();
const finish = audioCtx.destination;
// etc.

Thông số kỹ thuật

Specification
Web Audio API
# AudioContext

Tương thích trình duyệt

Xem thêm