Javascript soundmanager2 html5音频赢得';我不能在ios上玩
我有一个非常简单的soundmanager2启动和运行示例,它在IOS中不会触发:Javascript soundmanager2 html5音频赢得';我不能在ios上玩,javascript,jquery,html,audio,soundmanager2,Javascript,Jquery,Html,Audio,Soundmanager2,我有一个非常简单的soundmanager2启动和运行示例,它在IOS中不会触发: $(document).ready(function(){ var introSound; setupSoundManager(); function setupSoundManager(){ soundManager.setup({ // where to find the SWF files, if needed url: '
$(document).ready(function(){
var introSound;
setupSoundManager();
function setupSoundManager(){
soundManager.setup({
// where to find the SWF files, if needed
url: 'swf/',
preferFlash: false,
onready: function() {
// SM2 has loaded, API ready to use e.g., createSound() etc.
createSound();
},
ontimeout: function() {
// Uh-oh. SWF missing, Flash blocked or other issue
console.log('cant setup');
}
});
}
function createSound(){
introSound = soundManager.createSound({
url: 'intro-with-drums.mp3',
// callback for when the sound has loaded
onload: function() {
soundManager._writeDebug(this.id + ' loaded');
enablePlay(this);
}
}).load();
}
function enablePlay(thisSound){
$('#sound').on('click',function(){
introSound.play();
});
}
});
桌面在加载时会经历以下阶段:
sound0:使用HTML5 soundmanager2.js:1190
sound0:load(intro with drums.mp3)soundmanager2.js:1190
sound0:loadstart soundmanager2.js:1190
声音0:暂停
sound0:loadedmetadata soundmanager2.js:1190
sound0:loadeddata soundmanager2.js:1190
sound0:canplay SoundManager 2.js:1190
sound0:onload()soundmanager2.js:1188
声音0已加载
iOS只做:
sound0:使用HTML5 soundmanager2.js:1190
sound0:load(intro with drums.mp3)soundmanager2.js:1190
sound0:loadstart soundmanager2.js:1190
声音0:暂停
如何在iOS上运行此功能?大多数移动浏览器在没有直接物理交互的情况下会拒绝加载/缓冲任何音频/视频。这意味着您无法在页面加载或任何异步函数(如setTimeout)中触发初始播放/预加载。由于此限制,
introSound
从不加载,这意味着enablePlay
永远不会被调用,这意味着您的#sound
元素永远不会添加事件侦听器。大多数移动浏览器将拒绝加载/缓冲任何没有直接物理交互的音频/视频。这意味着您无法在页面加载或任何异步函数(如setTimeout)中触发初始播放/预加载。由于此限制,introSound
从不加载,这意味着enablePlay
永远不会被调用,这意味着您的#sound
元素永远不会被添加事件侦听器