2017-06-16 97 views
0

我试图从twilio API使用html5网络音频分析器可视化通话录音,但每当我连接我的分析仪(可视化器)时,它会将我的音频静音。连接mediaElementSource时,网络音频被静音

这里是有关的代码:

initScope = function() { 
     context = new window.AudioContext() 
     canvas = document.querySelector('.visualizer') 
     scope = new Oscilloscope(canvas, options) 
     source = context.createMediaElementSource($oscilloscope[0]) //MH TODO: sound gets cut here 
    } 

是当分析仪设置,其中[示波器] [1]是我使用的分析库。

而且这里是我加载和播放音频:

loadAudio =函数(){$ 音频[0]的.src = '/录音/' +播放(当前).recordingSid $音频[0] - 阅读进度 - ( 'canplaythrough',playAudio) $音频[0] .load() }

playAudio =函数(){ scope.addSignal(源) $音频[0] .play () }

我实际上已经工作了一段时间,但实际上它可能是一个Chrome中的错误,它允许玩游戏,当Chrome更新时停止工作。

如果我注释掉 source = context.createMediaElementSource($audio)

音频将发挥(只是没有可视化),反之亦然。

我想知道示波器代码中是否有某些东西会因为某种原因使音频流静音,或者我需要做的事情是将sourcescope连接到音频节点。我看到了一些关于连接流中的流的信息,我已经通过克隆音频节点临时解决了这个问题,这样我就有一个节点用于实际音频,一个节点用于示波器,但感觉马虎。

欣赏任何想法或指针。

认为这是一个CORS问题,首先BTW,但我解决了,所以我的服务器充当twilio录音的本地代理。

回答

0

啊,只是需要

source.connect(context.destination)

scope.addSignal(source, options.color)