tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>