除了用户执行的Click事件的处理程序之外,在任何其他情况下,我似乎都无法在iOS 4.2.1的Mobile Safari中播放音频媒体.即使那样,如果
player.play()
以任何异步方式被调用(
ajax, setTimeout
等等)。
我尝试致电
player.load()
在
player.play()
之前
.我尝试在其处理程序调用
player.play()
的dom元素上触发click事件
.我尝试同时使用音频和视频标签。
在iOS 4.2.1之前有效的所有漏洞似乎都已关闭.有什么想法吗?
最新回答
- 2021-1-121 #
- 2021-1-122 #
有一种方法可以在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);
- 2021-1-123 #
正如其他人在这里所说并根据Apple文档所述,MobileSafari不支持video标签中的autoplay属性.但是,在iOS 6中,它确实可以工作.这似乎是Apple在iOS 6.0.1(可能在iOS 6.1)中修复的错误。
如果您偶然发现iOS 6中的自动播放功能,请不要依赖于自动播放。
-Michael
- 2021-1-124 #
作为一种解决方法,我尝试将load()/ play()代码绑定到click事件,然后以编程方式触发click事件.这种方法适用于Desktop Safari,但不适用于Mobile Safari。
- 2021-1-125 #
该方法在iPad上有效,直到昨晚4.2升级:
$(function() { var Beep = document.createElement('audio'); Beep.setAttribute('src', 'beep-23.mp3'); Beep.load(); Beep.play(); }
我的
Beep.play();
仍然适用于点击事件,但初始Beep.play()
停止工作...
相关问题
- iphone:如何在Objective-C中将HEX转换为NSString?iphoneiosipad2021-01-10 21:57
- ios:将iPhone xib转换为iPad xib?iosiphonexcodeipadxib2021-01-10 07:28
- ios:UIGestureRecognizer和UITableViewCell问题iosiphoneipaduitableviewuigesturerecognizer2021-01-09 16:27
- iphone:在主选项卡栏控制器之前显示登录视图控制器iphoneipaduiviewcontrolleruitabbarcontroller2021-01-09 03:54
- orientation:以编程方式检测iPad / iPhone硬件的最佳方法iphoneorientationipad2021-01-08 23:53
从iOS 4.2.x开始,如果没有用户输入事件(如touchstart),将不会开始下载媒体。
所以答案是 no ,没有方法可以通过JavaScript或其他方法自动播放媒体。