content/media/webaudio/test/test_audioParamExponentialRamp.html

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:bc82e6de49fd
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Test AudioParam.exponentialRampToValue</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">
12
13 var V0 = 0.1;
14 var V1 = 0.9;
15 var T0 = 0;
16
17 var gTest = {
18 length: 2048,
19 numberOfChannels: 1,
20 createGraph: function(context) {
21 var sourceBuffer = context.createBuffer(1, 2048, context.sampleRate);
22 for (var i = 0; i < 2048; ++i) {
23 sourceBuffer.getChannelData(0)[i] = 1;
24 }
25
26 var source = context.createBufferSource();
27 source.buffer = sourceBuffer;
28
29 var gain = context.createGain();
30 gain.gain.setValueAtTime(V0, 0);
31 gain.gain.exponentialRampToValueAtTime(V1, 2048/context.sampleRate);
32
33 source.connect(gain);
34
35 source.start(0);
36 return gain;
37 },
38 createExpectedBuffers: function(context) {
39 var T1 = 2048 / context.sampleRate;
40 var expectedBuffer = context.createBuffer(1, 2048, context.sampleRate);
41 for (var i = 0; i < 2048; ++i) {
42 var t = i / context.sampleRate;
43 expectedBuffer.getChannelData(0)[i] = V0 * Math.pow(V1 / V0, (t - T0) / (T1 - T0));
44 }
45 return expectedBuffer;
46 },
47 };
48
49 runTest();
50
51 </script>
52 </pre>
53 </body>
54 </html>

mercurial