test_delayNodeWithGain.html (1371B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Test DelayNode with a GainNode</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 buffer = context.createBuffer(1, 2048, context.sampleRate); 18 for (var i = 0; i < 2048; ++i) { 19 buffer.getChannelData(0)[i] = Math.sin(440 * 2 * Math.PI * i / context.sampleRate); 20 } 21 22 var source = context.createBufferSource(); 23 24 var delay = context.createDelay(); 25 26 source.buffer = buffer; 27 28 var gain = context.createGain(); 29 gain.gain.value = 0.5; 30 31 source.connect(gain); 32 gain.connect(delay); 33 34 // Delay the source stream by 2048 frames 35 delay.delayTime.value = 2048 / context.sampleRate; 36 37 source.start(0); 38 return delay; 39 }, 40 createExpectedBuffers(context) { 41 var expectedBuffer = context.createBuffer(1, 2048 * 2, context.sampleRate); 42 for (var i = 2048; i < 2048 * 2; ++i) { 43 expectedBuffer.getChannelData(0)[i] = Math.sin(440 * 2 * Math.PI * (i - 2048) / context.sampleRate) / 2; 44 } 45 return expectedBuffer; 46 }, 47 }; 48 49 runTest(); 50 51 </script> 52 </pre> 53 </body> 54 </html>