test_pannerNodeAbove.html (1627B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Test PannerNode directly above</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 numberOfChannels: 2, 15 createGraph(context) { 16 // An up vector will be made perpendicular to the front vector, in the 17 // front-up plane. 18 context.listener.setOrientation(0, 6.311749985202524e+307, 0, 0.1, 1000, 0); 19 // Linearly dependent vectors are ignored. 20 context.listener.setOrientation(0, 0, -6.311749985202524e+307, 0, 0, 6.311749985202524e+307); 21 var panner = context.createPanner(); 22 panner.positionX.value = 2; // directly above 23 panner.rolloffFactor = 0; // no distance gain 24 panner.panningModel = "equalpower"; // no effect when directly above 25 26 var source = context.createBufferSource(); 27 source.buffer = this.buffer; 28 source.connect(panner); 29 source.start(0); 30 31 return panner; 32 }, 33 createExpectedBuffers(context) { 34 var expectedBuffer = context.createBuffer(2, 2048, context.sampleRate); 35 for (var i = 0; i < 2048; ++i) { 36 // Different signals in left and right buffers 37 expectedBuffer.getChannelData(0)[i] = Math.sin(440 * 2 * Math.PI * i / context.sampleRate); 38 expectedBuffer.getChannelData(1)[i] = Math.sin(220 * 2 * Math.PI * i / context.sampleRate); 39 } 40 this.buffer = expectedBuffer; 41 return expectedBuffer; 42 }, 43 }; 44 45 runTest(); 46 47 </script> 48 </pre> 49 </body> 50 </html>