我有一个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');
}
});
我启用了调试控件,如果我在原生控件上按“播放”,它就会开始工作......
由于
答案 0 :(得分:1)
我最近正在处理类似的事情,发现您无法使用trigger
事件播放音频。
e.g。我在尝试
$('#btn').click(function(){
myAudioControl.play();
});
$('#btn').trigger('click');
此代码永远不会在iOS5上运行,因为它需要对元素进行物理点击。
这里有一个很好的解决方案Play a sound via javascript event in iOS 5 HTML5 app我与之合作找到问题的解决方案。
当用户点击按钮时,我基本上让音频播放静音mp3文件,然后更新音频src
。然后我可以通过任何触发器或事件动态播放音频文件。