Skip to content

Instantly share code, notes, and snippets.

@kuu
Last active August 29, 2015 13:56
Show Gist options
  • Save kuu/9067585 to your computer and use it in GitHub Desktop.
Save kuu/9067585 to your computer and use it in GitHub Desktop.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=yes" />
</head>
<body>
<button id="loadBtn">Load</button>
<button id="playBtn">Play</button>
<script>
document.addEventListener("DOMContentLoaded", function() {
var tLoadButton = document.getElementById('loadBtn');
var tPlayButton = document.getElementById('playBtn');
var tBGM = new Audio();
tLoadButton.addEventListener('click', function () {
var tXHR = new XMLHttpRequest();
tXHR.open('GET', 'bgm.mp3');
tXHR.responseType = 'arraybuffer';
tXHR.onreadystatechange = function() {
if (tXHR.readyState === 4 && tXHR.status === 200) {
var tBlob = new Blob([tXHR.response], {type: 'audio/mpeg'});
var URL = URL || webkitURL;
tBGM.src = URL.createObjectURL(tBlob);
console.log('XHR#onload', tBGM.src);
tBGM.load();
}
};
tXHR.send();
}, false);
tPlayButton.addEventListener('click', function (e) {
if (e.target.innerHTML === 'Play') {
tBGM.play();
e.target.innerHTML = 'Pause';
} else {
tBGM.pause();
e.target.innerHTML = 'Play';
}
}, false);
tBGM.addEventListener('loadeddata', function () {
console.log('HTMLAudio#loadeddata');
tBGM.currentTime = 5.5;
}, false);
}, false);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment