2017-06-16 11 views
0

html5 Webオーディオアナライザーを使用してtwilio APIからのコール録音を視覚化しようとしていますが、アナライザー(ビジュアライザー)を接続するたびに音声がミュートされます。 [オシロスコープ] [1]私が使用していアナライザライブラリですmediaElementSourceを添付するときにWebオーディオがミュートされる

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 
    } 

は、アナライザが設定されているところである。

はここに関連するコードです。

loadAudio =機能(){ $オーディオ[0] .SRC = '/レコーディング/' +プレイリスト[現在] .recordingSid $:ここ

そして、私はロードし、オーディオを再生してるところですオーディオ[0] .addEventListener( 'canplaythrough'、playAudio) $オーディオ[0] .LOAD() }

playAudio =関数(){ scope.addSignal(ソース) $オーディオ[0] .play () }

私は実際には少し動いていましたが、実際にはクロムのバグがあったかもしれませんが、クロムが更新されたときに動作を停止しました。

私は(ちょうど視覚化なし)、オーディオが再生されます source = context.createMediaElementSource($audio)

をコメントアウトした場合

、逆もまた同様です。

何らかの理由でオーディオストリームをミュートするようなオシロスコープコードがある場合、またはsourceまたはscopeをオーディオノードに接続する必要があるかどうかは疑問です。 documentation

オーディオノードを複製して、実際のオーディオ用に1つのノードを、オシロスコープに1つのノードを作成することで、一時的にこの問題を解決しました。

アイデアやポインターがありがたいです。

これは最初のBTWでCORSの問題だと思っていましたが、私のサーバーはtwilioからの録画のローカルプロキシとして機能するように解決しました。

答えて

0

だけ

scope.addSignal(source, options.color)

source.connect(context.destination)

を必要とああ、

関連する問題