WPT
wpt / webaudio / the-audio-api / the-audiobuffersourcenode-interface / audiobuffersource-basic.html
Spec: Web Audio API ↗
Runs: Chrome 155.0.8041.0 (wpt@4a01b83e3, 2026-09-04) | Firefox 157.0a1 (wpt@e7122b73f, 2026-09-04) | Safari 251 preview (wpt@2c385f65e, 2026-09-04) | Ladybird 1.0-70fb3 (wpt@4a01b83e3, 2026-09-04) | Servo Servo 0.6 (wpt@7e3d005d7, 2026-09-03) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 18/18 | 18/18 | 18/18 | 18/18 | 18/18 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| # AUDIT TASK RUNNER STARTED. | PASS | PASS | PASS | PASS | PASS | — |
| Executing "start/stop exceptions" | PASS | PASS | PASS | PASS | PASS | — |
| Audit report | PASS | PASS | PASS | PASS | PASS | — |
| > [start/stop exceptions] | PASS | PASS | PASS | PASS | PASS | — |
| start(NaN) threw TypeError: "Failed to execute 'start' on 'AudioBufferSourceNode': The provided double value is non-finite.". | PASS | — | — | — | — | — |
| start(Infinity) threw TypeError: "Failed to execute 'start' on 'AudioBufferSourceNode': The provided double value is non-finite.". | PASS | — | — | — | — | — |
| start(-Infinity) threw TypeError: "Failed to execute 'start' on 'AudioBufferSourceNode': The provided double value is non-finite.". | PASS | — | — | — | — | — |
| Calling stop() before start() threw InvalidStateError: "Failed to execute 'stop' on 'AudioScheduledSourceNode': cannot call stop without calling start first.". | PASS | — | — | — | — | — |
| start(-1) threw RangeError: "Failed to execute 'start' on 'AudioBufferSourceNode': The start time provided (-1) is less than the minimum bound (0).". | PASS | — | — | — | — | — |
| start(0,-1) threw RangeError: "Failed to execute 'start' on 'AudioBufferSourceNode': The offset provided (-1) is less than the minimum bound (0).". | PASS | — | — | — | — | — |
| start(0,0,-1) threw RangeError: "Failed to execute 'start' on 'AudioBufferSourceNode': The duration provided (-1) is less than the minimum bound (0).". | PASS | — | — | — | — | — |
| Calling start() twice threw InvalidStateError: "Failed to execute 'start' on 'AudioBufferSourceNode': cannot call start more than once.". | PASS | — | — | — | — | — |
| stop(-1) threw RangeError: "Failed to execute 'stop' on 'AudioScheduledSourceNode': The stop time provided (-1) is less than the minimum bound (0).". | PASS | — | — | — | — | — |
| stop(NaN) threw TypeError: "Failed to execute 'stop' on 'AudioScheduledSourceNode': The provided double value is non-finite.". | PASS | — | — | — | — | — |
| stop(Infinity) threw TypeError: "Failed to execute 'stop' on 'AudioScheduledSourceNode': The provided double value is non-finite.". | PASS | — | — | — | — | — |
| stop(-Infinity) threw TypeError: "Failed to execute 'stop' on 'AudioScheduledSourceNode': The provided double value is non-finite.". | PASS | — | — | — | — | — |
| < [start/stop exceptions] All assertions passed. (total 12 assertions) | PASS | PASS | PASS | PASS | PASS | — |
| # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. | PASS | PASS | PASS | PASS | PASS | — |
| start(NaN) threw TypeError: "AudioBufferSourceNode.start: Argument 1 is not a finite floating-point value.". | — | PASS | — | — | — | — |
| start(Infinity) threw TypeError: "AudioBufferSourceNode.start: Argument 1 is not a finite floating-point value.". | — | PASS | — | — | — | — |
| start(-Infinity) threw TypeError: "AudioBufferSourceNode.start: Argument 1 is not a finite floating-point value.". | — | PASS | — | — | — | — |
| Calling stop() before start() threw InvalidStateError: "AudioScheduledSourceNode.stop: Start has not been called on this AudioBufferSourceNode.". | — | PASS | — | — | — | — |
| start(-1) threw RangeError: "AudioBufferSourceNode.start: The value for the start time is outside the valid range.". | — | PASS | — | — | — | — |
| start(0,-1) threw RangeError: "AudioBufferSourceNode.start: The value for the offset is outside the valid range.". | — | PASS | — | — | — | — |
| start(0,0,-1) threw RangeError: "AudioBufferSourceNode.start: The value for the duration is outside the valid range.". | — | PASS | — | — | — | — |
| Calling start() twice threw InvalidStateError: "AudioBufferSourceNode.start: Start has already been called on this AudioBufferSourceNode.". | — | PASS | — | — | — | — |
| stop(-1) threw RangeError: "AudioScheduledSourceNode.stop: The value for the stop time is outside the valid range.". | — | PASS | — | — | — | — |
| stop(NaN) threw TypeError: "AudioScheduledSourceNode.stop: Argument 1 is not a finite floating-point value.". | — | PASS | — | — | — | — |
| stop(Infinity) threw TypeError: "AudioScheduledSourceNode.stop: Argument 1 is not a finite floating-point value.". | — | PASS | — | — | — | — |
| stop(-Infinity) threw TypeError: "AudioScheduledSourceNode.stop: Argument 1 is not a finite floating-point value.". | — | PASS | — | — | — | — |
| start(NaN) threw TypeError: "The provided value is non-finite". | — | — | PASS | — | — | — |
| start(Infinity) threw TypeError: "The provided value is non-finite". | — | — | PASS | — | — | — |
| start(-Infinity) threw TypeError: "The provided value is non-finite". | — | — | PASS | — | — | — |
| Calling stop() before start() threw InvalidStateError: "cannot call stop without calling start first.". | — | — | PASS | — | — | — |
| start(-1) threw RangeError: "when value should be positive". | — | — | PASS | — | — | — |
| start(0,-1) threw RangeError: "offset value should be positive". | — | — | PASS | — | — | — |
| start(0,0,-1) threw RangeError: "duration value should be positive". | — | — | PASS | — | — | — |
| Calling start() twice threw InvalidStateError: "Cannot call start more than once.". | — | — | PASS | — | — | — |
| stop(-1) threw RangeError: "when value should be positive". | — | — | PASS | — | — | — |
| stop(NaN) threw TypeError: "The provided value is non-finite". | — | — | PASS | — | — | — |
| stop(Infinity) threw TypeError: "The provided value is non-finite". | — | — | PASS | — | — | — |
| stop(-Infinity) threw TypeError: "The provided value is non-finite". | — | — | PASS | — | — | — |
| start(NaN) threw TypeError: "this argument is not a finite floating-point value". | — | — | — | — | PASS | — |
| start(Infinity) threw TypeError: "this argument is not a finite floating-point value". | — | — | — | — | PASS | — |
| start(-Infinity) threw TypeError: "this argument is not a finite floating-point value". | — | — | — | — | PASS | — |
| Calling stop() before start() threw InvalidStateError: "The object is in an invalid state.". | — | — | — | — | PASS | — |
| start(-1) threw RangeError: "'when' must be a positive value". | — | — | — | — | PASS | — |
| start(0,-1) threw RangeError: "'offset' must be a positive value". | — | — | — | — | PASS | — |
| start(0,0,-1) threw RangeError: "'duration' must be a positive value". | — | — | — | — | PASS | — |
| Calling start() twice threw InvalidStateError: "The object is in an invalid state.". | — | — | — | — | PASS | — |
| stop(-1) threw RangeError: "'when' must be a positive value". | — | — | — | — | PASS | — |
| stop(NaN) threw TypeError: "this argument is not a finite floating-point value". | — | — | — | — | PASS | — |
| stop(Infinity) threw TypeError: "this argument is not a finite floating-point value". | — | — | — | — | PASS | — |
| stop(-Infinity) threw TypeError: "this argument is not a finite floating-point value". | — | — | — | — | PASS | — |
| start(NaN) threw TypeError: "Expected when to be a finite floating-point number". | — | — | — | PASS | — | — |
| start(Infinity) threw TypeError: "Expected when to be a finite floating-point number". | — | — | — | PASS | — | — |
| start(-Infinity) threw TypeError: "Expected when to be a finite floating-point number". | — | — | — | PASS | — | — |
| Calling stop() before start() threw InvalidStateError: "AudioScheduledSourceNode source has not been started". | — | — | — | PASS | — | — |
| start(-1) threw RangeError: "when must not be negative". | — | — | — | PASS | — | — |
| start(0,-1) threw RangeError: "offset must not be negative". | — | — | — | PASS | — | — |
| start(0,0,-1) threw RangeError: "duration must not be negative". | — | — | — | PASS | — | — |
| Calling start() twice threw InvalidStateError: "AudioBufferSourceNode has already been started". | — | — | — | PASS | — | — |
| stop(-1) threw RangeError: "when must not be negative". | — | — | — | PASS | — | — |
| stop(NaN) threw TypeError: "Expected when to be a finite floating-point number". | — | — | — | PASS | — | — |
| stop(Infinity) threw TypeError: "Expected when to be a finite floating-point number". | — | — | — | PASS | — | — |
| stop(-Infinity) threw TypeError: "Expected when to be a finite floating-point number". | — | — | — | PASS | — | — |