content/media/webaudio/test/test_audioParamSetTargetAtTime.html

Fri, 16 Jan 2015 04:50:19 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Fri, 16 Jan 2015 04:50:19 +0100
branch
TOR_BUG_9701
changeset 13
44a2da4a2ab2
permissions
-rw-r--r--

Replace accessor implementation with direct member state manipulation, by
request https://trac.torproject.org/projects/tor/ticket/9701#comment:32

     1 <!DOCTYPE HTML>
     2 <html>
     3 <head>
     4   <title>Test AudioParam.setTargetAtTime</title>
     5   <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
     6   <script type="text/javascript" src="webaudio.js"></script>
     7   <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
     8 </head>
     9 <body>
    10 <pre id="test">
    11 <script class="testbody" type="text/javascript">
    13 var V0 = 0.9;
    14 var V1 = 0.1;
    15 var T0 = 0;
    16 var TimeConstant = 10;
    18 var gTest = {
    19   length: 2048,
    20   numberOfChannels: 1,
    21   createGraph: function(context) {
    22     var sourceBuffer = context.createBuffer(1, 2048, context.sampleRate);
    23     for (var i = 0; i < 2048; ++i) {
    24       sourceBuffer.getChannelData(0)[i] = 1;
    25     }
    27     var source = context.createBufferSource();
    28     source.buffer = sourceBuffer;
    30     var gain = context.createGain();
    31     gain.gain.value = V0;
    32     gain.gain.setTargetAtTime(V1, T0, TimeConstant);
    34     source.connect(gain);
    36     source.start(0);
    37     return gain;
    38   },
    39   createExpectedBuffers: function(context) {
    40     var T1 = 2048 / context.sampleRate;
    41     var expectedBuffer = context.createBuffer(1, 2048, context.sampleRate);
    42     for (var i = 0; i < 2048; ++i) {
    43       var t = i / context.sampleRate;
    44       expectedBuffer.getChannelData(0)[i] = V1 + (V0 - V1) * Math.exp(-(t - T0) / TimeConstant);
    45     }
    46     return expectedBuffer;
    47   },
    48 };
    50 runTest();
    52 </script>
    53 </pre>
    54 </body>
    55 </html>

mercurial