即使在点击处理程序上,Html5 音频也不会加载/播放
Posted
技术标签:
【中文标题】即使在点击处理程序上,Html5 音频也不会加载/播放【英文标题】:Html5 audio does not load/play even on click handlers 【发布时间】:2013-01-23 13:43:17 【问题描述】:我正在使用以下代码在 iPad Safari 上加载声音。
var EI=sound:;
EI.sound.load = function()
var preferFlash = true;
if (Ext.os.is('ios') && Ext.browser.is('WebKit'))
preferFlash = false;
// Load sound modules
soundManager.setup(
debugMode: true,
preferFlash: false,
onready: function()
var s = EI.sound;
s.audio = soundManager.createSound(
id: 'audio',
url: 'sound/sprite.mp3'
);
var opt = s.opt.online, f = opt.start+opt.duration, t=f+1500;
if (s.enabled) s.audio.play(from:opt.start, to:opt.start+opt.duration);
);
opt 定义为
EI.sound.opt =
"msg":start: 53, duration: 701,
"offline":start: 1904, duration: 487,
"online":start: 3548, duration: 2476,
一个按钮click
事件处理程序看起来像这样,
handler: function(btn)
EI.sound.load();
问题是单击按钮时声音不播放。我知道 Mobile Safari 对 html5 音频有限制。这些是我为克服它而采取的步骤。
-
只能加载一个文件。所以我制作了一个音频精灵并只播放其中的一部分。
声音只能在单击或触摸启动甚至处理程序时加载。所以我正在加载点击事件处理程序。
但还是没有声音。当我按下那个按钮时,我希望听到声音。它是一个启动图像类型按钮。它是用户必须按下才能使用应用程序的第一个按钮。
如何让音频播放成功?
这里有一些资源
-
http://www.ibm.com/developerworks/library/wa-ioshtml5/index.html
SoundManager2 on iPhone - Sound not playing on jQuery Load
【问题讨论】:
【参考方案1】:您正在使用“EI.sound.load()”,而您必须在声音管理器设置中使用“EI.sound.play()”或 autplay: true。
【讨论】:
以上是关于即使在点击处理程序上,Html5 音频也不会加载/播放的主要内容,如果未能解决你的问题,请参考以下文章