【发布时间】:2013-11-25 21:16:27
【问题描述】:
自从几天以来,我一直在尝试可视化来自 webrtc 的音频流。 我们已经编写了一些在正常本地流(网络音频麦克风使用)中运行良好的视觉效果。
然后我在https://github.com/muaz-khan/WebRTC-Experiment/tree/master/ 上发现了一些非常有趣的东西,用于在不同浏览器之间传输麦克风输入。 我们需要这样才能为前端的所有客户端从一个后端获取相同的音频数据。
一切正常,一些测试表明我们可以听到对方的声音。所以我认为可视化传入的流也不是问题。
但是:所有频率数据都是空的(零),即使我们能听到对方的声音。
有人对此有解决方案或提示吗?提前致谢!
这是我分析远程频率数据的测试:
首先包含这些文件:
webrtc-experiment.com/firebase.js
webrtc-experiment.com/one-to-many-audio-broadcasting/meeting.js
var meeting = new Meeting('test');
var audioContext = new window.webkitAudioContext();
var analyser = audioContext.createAnalyser();
// on getting local or remote streams
meeting.onaddstream = function(e) {
console.log(e.type);
console.log(e.audio);
console.log(e.stream);
if(e.type === 'local')
{
//try it with the local stream, it works!
}
else
{
var source = audioContext.createMediaStreamSource(e.stream);
source.connect(analyser);
analyser.connect(audioContext.destination);
console.log(analyser.fftSize);
console.log(analyser.frequencyBinCount);
analyser.fftSize = 64;
console.log(analyser.frequencyBinCount);
var frequencyData = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(frequencyData);
function update() {
requestAnimationFrame(update);
analyser.getByteFrequencyData(frequencyData);
console.log(frequencyData);
};
update();
}
};
meeting.check();
meeting.setup('test');
【问题讨论】:
-
我已经找到了一个匹配的问题:code.google.com/p/chromium/issues/detail?id=241543
标签: javascript stream webrtc microphone web-audio-api