2017-06-16 35 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)