delaynode-scheduling.html (1611B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title> 5 delaynode-scheduling.html 6 </title> 7 <script src="/resources/testharness.js"></script> 8 <script src="/resources/testharnessreport.js"></script> 9 <script src="/webaudio/resources/audit-util.js"></script> 10 <script src="/webaudio/resources/audit.js"></script> 11 <script src="/webaudio/resources/delay-testing.js"></script> 12 </head> 13 <body> 14 <script id="layout-test-code"> 15 let audit = Audit.createTaskRunner(); 16 17 audit.define( 18 { 19 label: 'test', 20 description: 21 'DelayNode delayTime parameter can be scheduled at a given time' 22 }, 23 function(task, should) { 24 25 // Create offline audio context. 26 let context = new OfflineAudioContext( 27 1, sampleRate * renderLengthSeconds, sampleRate); 28 let toneBuffer = createToneBuffer( 29 context, 20, 20 * toneLengthSeconds, sampleRate); // 20Hz tone 30 31 let bufferSource = context.createBufferSource(); 32 bufferSource.buffer = toneBuffer; 33 34 let delay = context.createDelay(); 35 36 // Schedule delay time at time zero. 37 delay.delayTime.setValueAtTime(delayTimeSeconds, 0); 38 39 bufferSource.connect(delay); 40 delay.connect(context.destination); 41 bufferSource.start(0); 42 43 context.startRendering() 44 .then(buffer => checkDelayedResult(buffer, toneBuffer, should)) 45 .then(() => task.done()); 46 }); 47 48 audit.run(); 49 </script> 50 </body> 51 </html>