如何在iOS> = 4.2.1 Mobile Safari中自动播放媒体?

Dav*_*din 23 iphone html5 mobile-safari ipad ios

在除了用户执行的点击事件处理程序之外的任何情况下,我似乎无法在iOS 4.2.1上的Mobile Safari中播放音频媒体.即使这样,如果player.play()以任何异步方式(ajax, setTimeout等)调用它也不起作用.

我已经打过电话player.load()player.play().我已经尝试在其处理程序调用的dom元素上触发click事件player.play().我尝试过使用音频和视频标签.

iOS 4.2.1之前的所有漏洞似乎都已关闭.有任何想法吗?

Yu *_*ong 16

从iOS 4.2.x开始,如果没有用户输入事件(如touchstart),则不会启动媒体下载.

所以答案是否定的,没有方法可以通过JavaScript或其他方式自动播放媒体.

  • azure_ardee - 请参阅http://developer.apple.com/library/safari/#documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html#//apple_ref/doc/uid/TP40009523-CH5-SW1 (2认同)

bhu*_*ups 14

有一种方法可以在4.2.1上自动播放视频/音频文件.创建一个iframe并将其源设置为媒体文件的URL,并将iframe附加到正文.这将是自动播放.

var ifr=document.createElement("iframe");
ifr.setAttribute('src', "http://mysite.com/myvideo.mp4");
ifr.setAttribute('width', '1px');
ifr.setAttribute('height', '1px');
ifr.setAttribute('scrolling', 'no');
ifr.style.border="0px";
document.body.appendChild(ifr);
Run Code Online (Sandbox Code Playgroud)


Mic*_*ton 6

正如其他人在此处所说的那样,根据Apple文档,MobileSafari不支持视频标签中的autoplay属性.但是,在iOS 6中它可以工作.这似乎是Apple在iOS 6.0.1中修复的错误(可能在iOS 6.1中).

如果您偶然发现在iOS 6.0中工作,请不要依赖iOS 6中的自动播放工作.

-Michael