delaynode.html (2094B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title> 5 delaynode.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: 'Tests attribute and basic functionality of DelayNode' 21 }, 22 function(task, should) { 23 24 // Create offline audio context. 25 let context = new OfflineAudioContext( 26 1, sampleRate * renderLengthSeconds, sampleRate); 27 let toneBuffer = createToneBuffer( 28 context, 20, 20 * toneLengthSeconds, sampleRate); // 20Hz tone 29 30 let bufferSource = context.createBufferSource(); 31 bufferSource.buffer = toneBuffer; 32 33 let delay = context.createDelay(); 34 35 window.delay = delay; 36 should(delay.numberOfInputs, 'delay.numberOfInputs').beEqualTo(1); 37 should(delay.numberOfOutputs, 'delay.numberOfOutputs').beEqualTo(1); 38 should(delay.delayTime.defaultValue, 'delay.delayTime.defaultValue') 39 .beEqualTo(0.0); 40 should(delay.delayTime.value, 'delay.delayTime.value') 41 .beEqualTo(0.0); 42 43 delay.delayTime.value = delayTimeSeconds; 44 should( 45 delay.delayTime.value, 46 'delay.delayTime.value = ' + delayTimeSeconds) 47 .beEqualTo(delayTimeSeconds); 48 49 bufferSource.connect(delay); 50 delay.connect(context.destination); 51 bufferSource.start(0); 52 53 context.startRendering() 54 .then(buffer => checkDelayedResult(buffer, toneBuffer, should)) 55 .then(task.done.bind(task)); 56 }); 57 58 audit.run(); 59 </script> 60 </body> 61 </html>