网站搜索

javascript - iPad 上音频无法播放


<audio id="test" controls="controls">
    <source src="1.mp3" type="audio/mpeg" />
    <source src="1.ogg" type="audio/ogg" />
</audio>

在 DOM 加载时播放视频的 js 代码

document.getElementById('test').load();
document.getElementById('test').play();

在浏览器中可以使用,但在 iPad 上不行,我需要设置什么?

答案#1

根据苹果的文档,音频/视频内容的加载和播放必须由用户操作触发:

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

这会播放电影:<input type="button" value="播放" onClick="document.myMovie.play()">

这在 iOS 上无效:<body onLoad="document.myMovie.play()">

摘自此处:http://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html