AudioScheduledSourceNode: phương thức stop()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
Phương thức stop() của AudioScheduledSourceNode lên lịch để một
âm thanh ngừng phát tại thời điểm được chỉ định. Nếu không chỉ định thời gian, âm thanh
sẽ dừng phát ngay lập tức.
Mỗi lần bạn gọi stop() trên cùng một nút, thời điểm được chỉ định sẽ thay thế
bất kỳ thời điểm dừng đã được lên lịch trước đó nhưng vẫn chưa xảy ra. Nếu nút đã
dừng, phương thức này sẽ không có tác dụng.
Note: Nếu thời điểm dừng đã được lên lịch xảy ra trước thời điểm bắt đầu đã được lên lịch của nút, nút sẽ không bao giờ bắt đầu phát.
Cú pháp
stop()
stop(when)
Tham số
whenOptional-
Thời điểm, tính bằng giây, mà âm thanh sẽ dừng phát. Giá trị này được chỉ định trong cùng hệ tọa độ thời gian mà
AudioContextđang dùng cho thuộc tínhcurrentTimecủa nó. Bỏ qua tham số này, chỉ định giá trị0, hoặc truyền một giá trị âm sẽ làm âm thanh dừng phát ngay lập tức.
Giá trị trả về
Không có (undefined).
Ngoại lệ
InvalidStateNodeDOMException-
Được ném ra nếu nút chưa được khởi động bằng cách gọi
start(). RangeError-
Được ném ra nếu giá trị được chỉ định cho
whenlà số âm.
Ví dụ
Ví dụ này minh họa việc khởi động một nút dao động, được lên lịch để bắt đầu phát ngay lập tức và dừng phát sau một giây. Thời điểm dừng được xác định bằng cách lấy thời gian hiện tại của ngữ cảnh âm thanh từ AudioContext.currentTime rồi cộng thêm 1 giây.
context = new AudioContext();
osc = context.createOscillator();
osc.connect(context.destination);
/* Hãy phát một sóng sin trong một giây. */
osc.start();
osc.stop(context.currentTime + 1);
Thông số kỹ thuật
| Thông số kỹ thuật |
|---|
| Web Audio API> # dom-audioscheduledsourcenode-stop> |