可以使用web-audio-api库来解决这个问题,以下是一个示例代码:
// 创建新的AudioContext
var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
// 向服务器请求音频文件
var request = new XMLHttpRequest();
request.open('GET', 'audio.wav', true);
request.responseType = 'arraybuffer';
request.onload = function() {
// 解码音频文件
audioCtx.decodeAudioData(request.response, function(buffer) {
// 创建新的bufferSource
var source = audioCtx.createBufferSource();
// 赋值缓冲区
source.buffer = buffer;
// 连接到音量控制器
source.connect(audioCtx.destination);
// 开始播放
source.start();
},
function() {
console.log('音频解码失败');
}
);
}
request.send();