audioworkletglobalscope-sample-rate.https.html (1380B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title> 5 Test sampleRate in AudioWorkletGlobalScope 6 </title> 7 <script src="/resources/testharness.js"></script> 8 <script src="/resources/testharnessreport.js"></script> 9 <script src="/webaudio/resources/audit.js"></script> 10 </head> 11 <body> 12 <script id="layout-test-code"> 13 let audit = Audit.createTaskRunner(); 14 15 setup(() => { 16 let sampleRate = 48000; 17 let renderLength = 512; 18 let context = new OfflineAudioContext(1, renderLength, sampleRate); 19 20 let filePath = 'processors/one-pole-processor.js'; 21 22 // Without rendering the context, attempt to access |sampleRate| in the 23 // global scope as soon as it is created. 24 audit.define( 25 'Query |sampleRate| upon AudioWorkletGlobalScope construction', 26 (task, should) => { 27 let onePoleFilterNode = 28 new AudioWorkletNode(context, 'one-pole-filter'); 29 let frequencyParam = onePoleFilterNode.parameters.get('frequency'); 30 31 should(frequencyParam.maxValue, 32 'frequencyParam.maxValue') 33 .beEqualTo(0.5 * context.sampleRate); 34 35 task.done(); 36 }); 37 38 context.audioWorklet.addModule(filePath).then(() => { 39 audit.run(); 40 }); 41 }); 42 </script> 43 </body> 44 </html>