JavaScript-未能使用createJavaScriptNode?

JavaScript-未能使用createJavaScriptNode?,javascript,google-chrome,canvas,html5-audio,webrtc,Javascript,Google Chrome,Canvas,Html5 Audio,Webrtc,如何解决这个问题 它的失败在过去,它是工作良好,但不再。 (如果您在麦克风中讲话,通常会在画布上显示绿色条。) var navigator=window.navigator; navigator.getMedia=(navigator.getUserMedia|| navigator.webkitGetUserMedia|| navigator.mozGetUserMedia|| navigator.msGetUserMedia); getMedia({video:false,audio:

如何解决这个问题

它的失败在过去,它是工作良好,但不再。 (如果您在麦克风中讲话,通常会在画布上显示绿色条。)


var navigator=window.navigator;
navigator.getMedia=(navigator.getUserMedia||
navigator.webkitGetUserMedia||
navigator.mozGetUserMedia||
navigator.msGetUserMedia);
getMedia({video:false,audio:true},函数(stream){
console.log('doing…');
audioContext=新的webkitAudioContext();
Analyzer=audioContext.createAnalyzer();
麦克风=audioContext.createMediaStreamSource(流);
javascriptNode=audioContext.createJavaScriptNode(2048,1,1);
Analyzer.smoothingTimeConstant=0.3;
Analyzer.fftSize=1024;
麦克风。连接(分析仪);
connect(javascriptNode);
连接(audioContext.destination);
canvasContext=document.getElementById(“测试”);
canvasContext=canvasContext.getContext(“2d”);
javascriptNode.onaudioprocess=function(){
log('doing….bla bla');
var阵列=新UINT8阵列(分析仪频率BINCOUNT);
分析仪。GetByTefFrequencyData(阵列);
var值=0;
var length=array.length;
对于(变量i=0;i
createJavaScriptNode()
已被标记为过时(),现在不鼓励使用它。看起来方法名称已更改为
createScriptProcessor()
,下面是一些文档:

希望这有帮助

webkitAudioContext()
没有
createJavaScriptNode
,我认为您不应该在任何地方使用它


试试
javascriptNode=audioContext.createScriptProcessor(2048,1,1)

@BenjaminTrent是的,谷歌搜索发现这个方法已经过时,可能在新版本的Chrome中被删除。
<script type="text/javascript">
var navigator  = window.navigator;
navigator.getMedia = ( navigator.getUserMedia ||
                         navigator.webkitGetUserMedia ||
                         navigator.mozGetUserMedia ||
                         navigator.msGetUserMedia);
navigator.getMedia({ video: false, audio: true}, function(stream) {
  console.log('doing....');

    audioContext = new webkitAudioContext();
    analyser = audioContext.createAnalyser();
    microphone = audioContext.createMediaStreamSource(stream);
    javascriptNode = audioContext.createJavaScriptNode(2048, 1, 1);

    analyser.smoothingTimeConstant = 0.3;
    analyser.fftSize = 1024;

    microphone.connect(analyser);
    analyser.connect(javascriptNode);
    javascriptNode.connect(audioContext.destination);
    canvasContext = document.getElementById("test");
    canvasContext= canvasContext.getContext("2d");

    javascriptNode.onaudioprocess = function() {
      console.log('doing.... bla bla');
        var array =  new Uint8Array(analyser.frequencyBinCount);
        analyser.getByteFrequencyData(array);
        var values = 0;

        var length = array.length;
        for (var i = 0; i < length; i++) {
            values += array[i];
        }

        var average = values / length;
        canvasContext.clearRect(0, 0, 300, 130);
        canvasContext.fillStyle = '#00ff00';
        canvasContext.fillRect(0,130-average,300,130);
    }

    console.log('doing.... done');
}, function(err) {
  console.log("An error occured! " + err);
});                 

</script>