2012-11-12 41 views
0

我似乎無法理解爲什麼這不起作用。我沒有錯誤。我使用振盪器完成了這個工作,它工作正常。 FYI這是這個主題的延續: Using Web Audio API to assign two sounds to two Divs and play each independently via a click event with javascript將簡單的增益節點連接到Web音頻API文件緩衝區

代碼:

<div id="divElement"></div> 


<style> 

#divElement{ 
background-color: orange; 
width:70px; 
height:100px; 
left:143px; 
} 

</style> 

<script> 

var context = new webkitAudioContext(), 
    savedBuffer; 

var playAudioFile = function() { 
    var source = context.createBufferSource(); 
    var gainNode = context.createGainNode(); 
    source.buffer = savedBuffer; 


// START OF PROBLEM AREA: Gain not working but file still plays with no errors. 

    source.connect(gainNode);   
    gainNode.connect(context.destination); 
    gainNode.gain = 0; 

// END OF PROBLEM AREA 

    source.noteOn(0); // Play sound immediately 


}; 

var request = new XMLHttpRequest(); 

request.open('get', 'audio/A.mp3', true); 
request.responseType = 'arraybuffer'; 

request.onload = function() { 
     context.decodeAudioData(request.response, 
      function(incomingBuffer) { 

       savedBuffer = incomingBuffer; 

       var divElement = document.getElementById("divElement"); 
       divElement.addEventListener("click", playAudioFile , false); 
      } 
     ); 
}; 

request.send(); 

</script> 

回答

相關問題