【发布时间】:2018-10-11 13:54:44
【问题描述】:
我的音频缓冲区似乎不起作用,我不知道为什么。我已经尝试在 Chrome 和 Safari 中打开它,但没有任何反应。我还检查了我的音频文件“Audio2.mp3”是否一切正常。
"use strict"
//Create the Audio Context, compatible with older Firefox and Chrome browsers
function audioContextCheck(){
if (typeof AudioContext !== "undefined"){
return new AudioContext();
}
else if (typeof webkitAudioContext !== "undefined") {
return new webkitAudioContext();
}
else if (typeof mozAudioContext !== "undefined") {
return new mozAudioContext();
}
else {
throw new Error('AudioContext not supported');
}
}
var audioContext = audioContextCheck();
//Create audio buffer to the audio file with the XMLHttpRequest
var audioBuffer;
var getSound = new XMLHttpRequest();
getSound.open("get", "Audio2.mp3", true);
getSound.responseType = "arraybuffer";
getSound.onload = function(){
audioContext.decodeAudioData(getSound.response, function(buffer) {
audioBuffer = buffer;
});
};
getSound.send();
//EventListener
window.addEventListener("load", playback);
//Now create the function necessary to play back the audio buffer
function playback(){
var playSound = audioContext.createBufferSource();
playSound.buffer = audioBuffer;
playSound.connect(audioContext.destination);
playSound.start(audioContext.currentTime);
}
【问题讨论】:
标签: javascript audio buffer web-audio-api