test_pannerNodeChannelCount.html (1508B)
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 length: 2048, 15 numberOfChannels: 2, 16 createGraph(context) { 17 var buffer = context.createBuffer(2, 2048, context.sampleRate); 18 for (var i = 0; i < 2048; ++i) { 19 var sample = Math.sin(440 * 2 * Math.PI * i / context.sampleRate); 20 // When mixed into a single channel, this produces silence 21 buffer.getChannelData(0)[i] = sample; 22 buffer.getChannelData(1)[i] = -sample; 23 } 24 25 var panner = context.createPanner(); 26 panner.positionX.value = 1; 27 panner.positionY.value = 2; 28 panner.positionZ.value = 3; 29 panner.channelCount = 1; 30 expectException(function() { panner.channelCount = 3; }, 31 DOMException.NOT_SUPPORTED_ERR); 32 panner.channelCountMode = "explicit"; 33 expectException(function() { panner.channelCountMode = "max"; }, 34 DOMException.NOT_SUPPORTED_ERR); 35 panner.channelInterpretation = "discrete"; 36 panner.channelInterpretation = "speakers"; 37 38 var source = context.createBufferSource(); 39 source.buffer = buffer; 40 source.connect(panner); 41 source.start(0); 42 43 return panner; 44 }, 45 }; 46 47 runTest(); 48 49 </script> 50 </pre> 51 </body> 52 </html>