5
async function capture()
8
const stream = await navigator.mediaDevices.getUserMedia({ audio: true, video: false });
9
internals.setMockAudioTrackChannelNumber(stream.getAudioTracks()[0], 2);
11
var audioContext = new webkitAudioContext();
12
var analyzer = audioContext.createAnalyser();
13
analyzer.fftSize = 256;
14
let source = audioContext.createMediaStreamSource(stream);
15
source.connect(analyzer);
16
analyzer.connect(audioContext.destination);
18
for (let cptr = 0; cptr < 1000; cptr++) {
19
internals.setMockAudioTrackChannelNumber(stream.getAudioTracks()[0], (cptr % 2) ? 1 : 2);
20
await new Promise(resolve => setTimeout(resolve, 20));
23
source.disconnect(analyzer);
24
analyzer.disconnect(audioContext.destination);
26
window.webkit.messageHandlers.gum.postMessage("PASS");
28
window.webkit.messageHandlers.gum.postMessage("FAIL: " + e);
34
<body onload="capture()">