test_offlineDestinationChannelCountMore.html (1445B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>Test OfflineAudioContext with a channel count less than the specified number</title> 5 <script 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 SimpleTest.waitForExplicitFinish(); 14 addLoadEvent(function() { 15 var ctx = new OfflineAudioContext(6, 100, 22050); 16 17 var buf = ctx.createBuffer(2, 100, ctx.sampleRate); 18 for (var i = 0; i < 2; ++i) { 19 for (var j = 0; j < 100; ++j) { 20 buf.getChannelData(i)[j] = Math.sin(2 * Math.PI * 200 * j / ctx.sampleRate); 21 } 22 } 23 var emptyBuffer = ctx.createBuffer(1, 100, ctx.sampleRate); 24 25 var src = ctx.createBufferSource(); 26 src.buffer = buf; 27 src.start(0); 28 src.connect(ctx.destination); 29 ctx.destination.channelCountMode = "max"; 30 ctx.startRendering(); 31 ctx.oncomplete = function(e) { 32 is(e.renderedBuffer.numberOfChannels, 6, "Correct expected number of buffers"); 33 compareChannels(e.renderedBuffer.getChannelData(0), buf.getChannelData(0)); 34 compareChannels(e.renderedBuffer.getChannelData(1), buf.getChannelData(1)); 35 for (var i = 2; i < 6; ++i) { 36 compareChannels(e.renderedBuffer.getChannelData(i), emptyBuffer.getChannelData(0)); 37 } 38 39 SimpleTest.finish(); 40 }; 41 }); 42 43 </script> 44 </pre> 45 </body> 46 </html>