3

我有一个 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');
            }
        });

我已经启用了调试控件,如果我在本机控件上按“播放”,它就会开始工作......

谢谢

4

1 回答 1

1

我最近在做类似的事情,发现您无法使用trigger事件播放音频。

例如我在尝试

$('#btn').click(function(){
    myAudioControl.play();
});

$('#btn').trigger('click');

此代码将永远无法在 iOS5 上运行,因为它需要物理单击元素。

这里有一个很好的解决方案通过 iOS 5 HTML5 应用程序中的 javascript 事件播放声音,我使用它来找到问题的解决方案。

当用户单击按钮时,我基本上让音频播放无声 mp3 文件,然后更新音频src。然后我可以通过任何触发器或事件动态播放音频文件。

于 2013-01-30T15:23:16.570 回答