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 type thành custom thủ công; thay vào đó, hãy dùng phương thức setPeriodicWave() để cung cấp dữ liệu đại diện cho dạng sóng. Làm như vậy tự động đặt type thành custom.

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ệ

InvalidStateError DOMException

Đượ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ọi setPeriodicWave(). 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).

js
// 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

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

Xem thêm