【发布时间】:2016-08-24 11:06:51
【问题描述】:
我已经阅读了很多关于这个问题的主题和问题,但我找不到解决方案。我可以在每个 Android 浏览器、每个桌面浏览器上播放声音,但不能在 iPhone 5c 上的 Safari 上播放。 我正在尝试使用 Web Audio API(我绝对不是专家),这是我的代码:
window.addEventListener ('load', loadSound);
canvas.addEventListener ('touchend', loadSound);
canvas.addEventListener ('mouseup', loadSound);
window.AudioContext = window.AudioContext || window.webkitAudioContext;
var audioContext = new window.AudioContext();
var playSoundBuffer;
var source;
function loadSound() {
setTimeout(function() {
var request = new XMLHttpRequest();
var audioURL = "media/sound/WW_start.wav";
request.open("GET", audioURL, true);
request.responseType = "arraybuffer";
request.onload = function() {
audioContext.decodeAudioData(request.response, function(buffer) {
playSoundBuffer = buffer;
playSound();
}, function(error) {
console.error("Error in sound", error);
});
request.send();
}
}, 50);
}
function playSound() {
source = audioContext.createBufferSource();
source.buffer = playSoundBuffer;
source.connect(audioContext.destination);
source.start(0);
}
我也尝试过使用 source.noteOn()、source.noteOn(0)、webkitAudioContext...
【问题讨论】:
标签: javascript iphone html safari web-audio-api