OscillatorNode: thuộc tính type
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Thuộc tính type của giao diện OscillatorNode chỉ định hình dạng dạng sóng mà oscillator sẽ phát ra. Có một số dạng sóng phổ biến, cũng như tùy chọn để chỉ định hình dạng dạng sóng tùy chỉnh. Hình dạng của dạng sóng sẽ ảnh hưởng đến âm thanh được tạo ra.
Giá trị
Một chuỗi chỉ định hình dạng của sóng oscillator. Các giá trị khác nhau có sẵn là:
sine-
Một sóng sine. Đây là giá trị mặc định.
square-
Một sóng vuông với duty cycle 0.5; nghĩa là tín hiệu "cao" trong một nửa mỗi chu kỳ.
sawtooth-
Một sóng răng cưa.
triangle-
Một sóng tam giác.
custom-
Một dạng sóng tùy chỉnh. Bạn không bao giờ đặt
typethànhcustomthủ công; thay vào đó, hãy dùng phương thứcsetPeriodicWave()để cung cấp dữ liệu đại diện cho dạng sóng. Làm như vậy tự động đặttypethànhcustom.
Xem thêm các loại oscillator node khác nhau để xem trực quan hóa các hình dạng dạng sóng khác nhau.
Ngoại lệ
InvalidStateErrorDOMException-
Được ném ra nếu giá trị
customđược chỉ định. Để đặt dạng sóng tùy chỉnh, chỉ cần gọisetPeriodicWave(). Làm như vậy sẽ tự động đặt type cho bạn.
Ví dụ
Ví dụ dưới đây cho thấy cách sử dụng cơ bản của AudioContext để tạo oscillator node. Để xem ví dụ được áp dụng, hãy xem Violent Theremin demo (xem app.js để biết mã liên quan).
// create web audio api context
const audioCtx = new AudioContext();
// create Oscillator node
const oscillator = audioCtx.createOscillator();
oscillator.type = "square";
oscillator.frequency.setValueAtTime(440, audioCtx.currentTime); // value in hertz
oscillator.start();
Thông số kỹ thuật
| Specification |
|---|
| Web Audio API> # dom-oscillatornode-type> |