2014-09-09 3 views
3

해결 방법? 그것은하지만 더 이상 잘 작동되었다 과거JavaScript - createJavaScriptNode 사용에 실패 했습니까?

enter image description here

의은에 실패. 는

<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> 

답변

7

webkitAudioContext()에는 createJavaScriptNode이 없으므로 어디서나 사용해서는 안됩니다.

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

3

createJavaScriptNode()이 (https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createJavaScriptNode) 사용되지 않는 것으로 표시되었습니다 (당신이 마이크에 말을하면 일반적으로는. 캔버스에 녹색 막대를 표시), 그리고 사용이 지금은 권장하지 않습니다이다. 메소드 이름이 createScriptProcessor()으로 변경된 것 같습니다. 여기에 몇 가지 문서가 있습니다. https://developer.mozilla.org/en-US/docs/Web/API/AudioContext.createScriptProcessor

희망이 있습니다.

+1

@BenjaminTrent 그래, 조금 인터넷 검색 문제의 방법이 사용되지 않는 가능성 크롬의 새 버전에서 제거 것을 켜져보십시오. – pje