ConstantSourceNode
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 ConstantSourceNode là một phần của Web Audio API, đại diện cho một nguồn âm thanh (dựa trên AudioScheduledSourceNode) có đầu ra là một giá trị đơn không thay đổi. Điều này khiến nó hữu ích trong những trường hợp bạn cần một giá trị hằng đi vào từ một nguồn âm thanh. Ngoài ra, nó có thể được dùng như một AudioParam có thể khởi tạo bằng hàm tạo bằng cách tự động hóa giá trị của offset hoặc bằng cách nối một nút khác vào nó; xem Điều khiển nhiều tham số bằng ConstantSourceNode.
Một ConstantSourceNode không có đầu vào và có đúng một đầu ra đơn âm (một kênh). Giá trị đầu ra luôn giống với giá trị của tham số offset.
| Số lượng đầu vào | 0 |
|---|---|
| Số lượng đầu ra | 1 |
Constructor
ConstantSourceNode()-
Tạo và trả về một thực thể
ConstantSourceNodemới, có thể chỉ định thêm một đối tượng để thiết lập các giá trị ban đầu cho thuộc tính của đối tượng. Ngoài ra, bạn có thể dùng phương thức factoryBaseAudioContext.createConstantSource(); xem Tạo một AudioNode.
Thuộc tính thể hiện
Kế thừa các thuộc tính từ giao diện cha của nó, AudioScheduledSourceNode, và bổ sung các thuộc tính sau:
offset-
Một
AudioParamchỉ định giá trị mà nguồn này liên tục xuất ra. Giá trị mặc định là 1.0.
Sự kiện
Kế thừa các sự kiện từ giao diện cha của nó, AudioScheduledSourceNode.
Note:
Trong một số trình duyệt, cách triển khai các sự kiện này là một phần của giao diện AudioScheduledSourceNode.
ended-
Được kích hoạt bất cứ khi nào dữ liệu của
ConstantSourceNodedừng phát.
Phương thức thể hiện
Kế thừa các phương thức từ giao diện cha của nó, AudioScheduledSourceNode.
Note:
Trong một số trình duyệt, cách triển khai các phương thức này là một phần của giao diện AudioScheduledSourceNode.
Ví dụ
Trong bài viết Điều khiển nhiều tham số bằng ConstantSourceNode, một ConstantSourceNode được tạo để cho phép một thanh trượt điều khiển thay đổi hệ số khuếch đại của hai GainNode. Ba nút được thiết lập như sau:
gainNode2 = context.createGain();
gainNode3 = context.createGain();
gainNode2.gain.value = gainNode3.gain.value = 0.5;
volumeSliderControl.value = gainNode2.gain.value;
constantNode = context.createConstantSource();
constantNode.connect(gainNode2.gain);
constantNode.connect(gainNode3.gain);
constantNode.start();
gainNode2.connect(context.destination);
gainNode3.connect(context.destination);
Đoạn mã này bắt đầu bằng việc tạo các nút gain và đặt giá trị của chúng, cùng với điều khiển âm lượng sẽ dùng để điều chỉnh chúng, về 0.5. Sau đó ConstantSourceNode được tạo bằng cách gọi AudioContext.createConstantSource(), rồi các tham số gain của từng nút gain được nối với ConstantSourceNode. Sau khi khởi động nguồn hằng bằng cách gọi phương thức start() của nó, cuối cùng hai nút gain được nối tới đích âm thanh (thường là loa hoặc tai nghe).
Giờ đây, bất cứ khi nào giá trị của constantNode.offset thay đổi, hệ số gain của cả gainNode2 và gainNode3 cũng sẽ thay đổi theo cùng giá trị đó.
Để xem ví dụ này hoạt động thực tế, cũng như đọc phần còn lại của mã nguồn mà những đoạn trích này được lấy ra, hãy xem Điều khiển nhiều tham số bằng ConstantSourceNode.
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Web Audio API> # ConstantSourceNode> |