#import #import #import #import dictionary AudioBufferSourceOptions { AudioBuffer? buffer; float detune = 0; boolean loop = false; double loopEnd = 0; double loopStart = 0; float playbackRate = 1; }; // https://webaudio.github.io/web-audio-api/#AudioBufferSourceNode [Exposed=Window] interface AudioBufferSourceNode : AudioScheduledSourceNode { constructor(BaseAudioContext context, optional AudioBufferSourceOptions options = {}); attribute AudioBuffer? buffer; readonly attribute AudioParam playbackRate; readonly attribute AudioParam detune; attribute boolean loop; attribute double loopStart; attribute double loopEnd; undefined start(optional double when = 0, optional double offset, optional double duration); };