是否可以在ios7中自动播放或触发HTML5音频中的播放()状态?

tam*_*mak 1 jquery html5 ios7

我使用以下jquery将HTML5音频元素添加到其他基本HTML页面.我希望音频标签自动开始播放(用户将导航到此特定页面/区域,以明确听到脱口秀节目的音频流).

它加载和播放在桌面Web浏览器和测试Android设备上开始正常,但在ios7(测试设备是iphone 4s),我可以看到触发测试警报,但音频元素的播放状态似乎无法访问/反应灵敏.

是否有人熟悉如何成功设置自动播放或以某种方式"触发"ios7中音频标签的播放状态?

如果没有,我想它会让我有机会让用户(移动设备用户专门)确认/确认他们理解带宽影响等等,并让他们的手动"点击"作为启动的触发器回放.

我以为我会在这里看到是否有人熟悉在ios7中这样做的方法 - 我不确定它是否也是以前版本的iOS下的一个问题.

谢谢.

继承我的代码片段:

$(document).ready(function() {

$('body').append('<audio src="EXTERNAL_AUDIO_STREAM_URL_HERE" autoload="false" autoplay="false" id="audiostream" controls/>');

// THIS WORKS FINE WHEN THIS ELEMENT IS CLICKED IN IOS7 MANUALLY, THE AUDIO STARTS FINE...
$('#startbutton').click(function(){

$('#audiostream')[0].load();
$('#audiostream')[0].play();
alert('loaded, fine...');

});


    // THIS DOES NOT START AUDIO IN IOS7 AUTOMATICALLY...
    setTimeout(function() {
        $('#startbutton').trigger('click');
    }, 2000);



});    
Run Code Online (Sandbox Code Playgroud)

tam*_*mak 6

不,它不可能在ios上......

取自:Safari Developer Library文档:(
感谢ndm)[源链接在他的评论中]

在iOS上的Safari(适用于所有设备,包括iPad)中,用户可能位于蜂窝网络上并按数据单元收费,因此禁用预加载和自动播放.在用户启动数据之前不会加载任何数据.这意味着JavaScript play()和load()方法在用户启动回放之前也处于非活动状态,除非用户操作触发play()或load()方法.换句话说,用户启动的播放按钮有效,但onLoad ="play()"事件不起作用.