我想为移动电话开发一个网络应用程序,用于记录麦克风的音频并同时播放音乐。
使用getUserMedia()
我获取流并在我的AudioContext中创建MediaStreamSource。同时我创建了一个播放音乐的BufferSource。在Chrome中,此设置有效。但是,当我在Nexus 5上的Chrome中启动相同的Web应用程序时,我允许它使用麦克风,音乐被静音。
getUserMedia的成功回调:
function gotStream(stream) {
mediaStreamSource = audioContext.createMediaStreamSource(stream);
meter = createAudioMeter(audioContext);
mediaStreamSource.connect(meter);
info = document.getElementById('info');
outputData();
}
播放音乐功能:
function playSound(buffer) {
source = audioContext.createBufferSource();
source.buffer = buffer;
gainNode = audioContext.createGain();
source.connect(gainNode);
gainNode.connect(audioContext.destination);
source.start(0);
}
这应该是预期的行为,还是我做错了什么?