audiobuffer-reuse.html (1232B)
1 <!doctype html> 2 <meta charset="utf-8"> 3 <title>AudioBuffer can be reused between AudioBufferSourceNodes</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script> 7 function render_audio_context() { 8 let sampleRate = 44100; 9 let context = new OfflineAudioContext( 10 2, sampleRate * 0.1, sampleRate); 11 let buf = context.createBuffer(1, 0.1 * sampleRate, context.sampleRate); 12 let data = buf.getChannelData(0); 13 data[0] = 0.5; 14 data[1] = 0.25; 15 let b1 = context.createBufferSource(); 16 b1.buffer = buf; 17 b1.start(); 18 let b2 = context.createBufferSource(); 19 b2.buffer = buf; 20 b2.start(); 21 let merger = context.createChannelMerger(2); 22 b1.connect(merger, 0, 0); 23 b2.connect(merger, 0, 1); 24 merger.connect(context.destination); 25 return context.startRendering(); 26 } 27 promise_test(function() { 28 return render_audio_context() 29 .then(function(buffer) { 30 assert_equals(buffer.getChannelData(0)[0], 0.5); 31 assert_equals(buffer.getChannelData(1)[0], 0.5); 32 assert_equals(buffer.getChannelData(0)[1], 0.25); 33 assert_equals(buffer.getChannelData(1)[1], 0.25); 34 }); 35 }, "AudioBuffer can be reused between AudioBufferSourceNodes"); 36 </script>