test_audioContextParams_recordNonDefaultSampleRate.html (1204B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <script src="/tests/SimpleTest/SimpleTest.js"></script> 5 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 6 <script type="text/javascript" src="manifest.js"></script> 7 </head> 8 <body> 9 <pre id="test"> 10 11 <script class="testbody" type="text/javascript"> 12 function startTest() { 13 let ctx = new AudioContext({sampleRate: 32000}); 14 let oscillator = ctx.createOscillator(); 15 let dest = ctx.createMediaStreamDestination(); 16 oscillator.connect(dest); 17 oscillator.start(); 18 let stream = dest.stream; 19 20 let recorder = new MediaRecorder(stream); 21 recorder.ondataavailable = (e) => { 22 ok(true, 'recorder ondataavailable event'); 23 if (recorder.state == 'recording') { 24 ok(e.data.size > 0, 'check blob has data'); 25 recorder.stop(); 26 } 27 } 28 29 recorder.onstop = () => { 30 ok(true, 'recorder stop event'); 31 SimpleTest.finish(); 32 } 33 34 try { 35 recorder.start(1000); 36 ok(true, 'recorder started'); 37 is('recording', recorder.state, 'check record state recording'); 38 } catch (e) { 39 ok(false, 'Can t record audio context'); 40 } 41 } 42 43 startTest(); 44 SimpleTest.waitForExplicitFinish(); 45 </script> 46 </pre> 47 </body> 48 </html>