/** * Created by hhuai on 2/12/15. */ document.addEventListener('DOMContentLoaded', function(){ var audio = document.getElementById('audio'); audio.src="/kiss/res/mua.mp3"; }); var mySource; if('webkitAudioContext' in window){ var audio_ctx = new webkitAudioContext(); function loadMusic(url) { var req = new XMLHttpRequest(); req.open('GET', url, true); req.responseType = 'arraybuffer'; req.addEventListener('load',bufferSound, false); req.send(); } function bufferSound(event) { var request = event.target; audio_ctx.decodeAudioData(request.response, function(buffer){ var source = audio_ctx.createBufferSource(); source.buffer = buffer; source.connect(audio_ctx.destination); // Create a volume (gain) node if(typeof audio_ctx.createGainNode === 'function'){ var volumeNode = audio_ctx.createGainNode(); } else { var volumeNode = audio_ctx.createGain(); } volumeNode.gain.value = 1.0; source.connect(volumeNode); mySource = source; playSound(); }, function(e){ console.log("Error with decoding audio data" + e)}); } loadMusic("/kiss/res/mua.mp3"); } function playSound() { if(mySource) { if(typeof mySource.noteOn === 'function' ) {mySource.noteOn(0);} else mySource.start(); } else { var audio = document.getElementById("audio"); audio.play(); } } document.getElementById("playBtn").addEventListener('click', function(){ playSound(); });