test_delayNodePassThrough.html (1322B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Test DelayNode</title> 5 <script src="/tests/SimpleTest/SimpleTest.js"></script> 6 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 7 </head> 8 <body> 9 <pre id="test"> 10 <script src="webaudio.js" type="text/javascript"></script> 11 <script class="testbody" type="text/javascript"> 12 13 var gTest = { 14 length: 4096, 15 numberOfChannels: 1, 16 createGraph(context) { 17 var source = context.createBufferSource(); 18 19 var delay = context.createDelay(); 20 21 source.buffer = this.buffer; 22 23 source.connect(delay); 24 25 delay.delayTime.value = 0.5; 26 27 // Delay the source stream by 2048 frames 28 delay.delayTime.value = 2048 / context.sampleRate; 29 30 var delayWrapped = SpecialPowers.wrap(delay); 31 ok("passThrough" in delayWrapped, "DelayNode should support the passThrough API"); 32 delayWrapped.passThrough = true; 33 34 source.start(0); 35 return delay; 36 }, 37 createExpectedBuffers(context) { 38 this.buffer = context.createBuffer(1, 2048, context.sampleRate); 39 for (var i = 0; i < 2048; ++i) { 40 this.buffer.getChannelData(0)[i] = Math.sin(440 * 2 * Math.PI * i / context.sampleRate); 41 } 42 var silence = context.createBuffer(1, 2048, context.sampleRate); 43 44 return [this.buffer, silence]; 45 }, 46 }; 47 48 runTest(); 49 50 </script> 51 </pre> 52 </body> 53 </html>