我试图分析从浏览器的音频输出,但我不希望getUserMedia提示,显示(其中询问麦克风权限)。 声音来源是SpeechSynthesis和MP3文件。 这里是我的代码:
return navigator.mediaDevices.getUserMedia({
audio: true
})
.then(stream => new Promise(resolve => {
const track = stream.getAudioTracks()[0];
this.mediaStream_.addTrack(track);
this._source = this.audioContext.createMediaStreamSource(this.mediaStream_);
this._source.connect(this.analyser);
this.draw(this);
}));
此代码工作正常,但它要求使用麦克风的权限! 我一个在所有的麦克风不感兴趣,我只需要衡量的音频输出。 如果我检查所有可用的设备:
navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
devices.forEach(function(device) {
console.log(device.kind + ": " + device.label +
" id = " + device.deviceId);
});
})
我得到在浏览器中可用的设备,包括“audiooutput”的列表。 那么,有没有办法将其敷设在媒体流的音频输出,可里面“createMediaStreamSource”功能,然后用? 我已经检查了所有的文档,音频API,但无法找到它。 感谢任何人,可以帮助!