【发布时间】:2013-01-30 14:59:10
【问题描述】:
我有一个 HTML5 音频播放器,应该在单击元素时播放。它适用于所有桌面浏览器。它只是不能在 iPad 上运行。
我读到 ios 不支持自动播放,并且用户必须启动播放...据我所知,这正是我正在做的事情,将我的代码放在点击函数中?
var item = $('.type-aud'),
path = item.attr('file'),
html = '<audio controls><source src="'+path+'" type="audio/mpeg" class="audio"></audio><span class="play"></span>',
playerClass = item.find('.audio');
if (!playerClass.hasClass('audio')) {
item.append(html);
}
item.click(function() {
var player = item.find('audio');
if (!player.hasClass('playing')) {
$(player).addClass('playing').trigger("play").next().addClass('pause').removeClass('play');
} else {
$(player).removeClass('playing').trigger("pause").next().removeClass('pause').addClass('play');
}
});
我已经启用了调试控件,如果我在本机控件上按“播放”,它就会开始工作...
谢谢
【问题讨论】:
-
直接调用video API方法有效吗?
player[0].play()?也许 ipad 认为触发路径“太长”而不能直接进行用户交互? -
这种工作...我必须点击具有点击事件的元素大约 8 次才能实际播放...但肯定不是缓冲问题,因为文件很小.
标签: javascript jquery html html5-audio