, , Audio API ( HTML5 <audio>). ArrayBuffer s
, WAV :
HTML:
<input id="files" type="file" id="files" name="files[]" multiple />
Javscript:
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var context = new window.AudioContext();
var source;
function playSound(arraybuffer) {
context.decodeAudioData(arraybuffer, function (buf) {
source = context.createBufferSource();
source.connect(context.destination);
source.buffer = buf;
source.start(0);
});
}
function handleFileSelect(evt) {
var files = evt.target.files;
playFile(files[0]);
}
function playFile(file) {
var freader = new FileReader();
freader.onload = function (e) {
console.log(e.target.result);
playSound(e.target.result);
};
freader.readAsArrayBuffer(file);
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
jsfiddle: http://jsfiddle.net/SpacePineapple/8xZUD/2/
http://ericbidelman.tumblr.com/post/13471195250/web-audio-api-how-to-playing-audio-based-on-user