我有一个具有音效的HTML5网络应用程序。我试图让这些效果在iOS5中工作,并且不能用于我的生活。在iOS5中自动播放HTML5音频/视频
想知道是否有人有任何解决方法来获取iOS5中的HTML5音频/视频控件的JS控件。
甚至可以通过单击来控制多个音频文件。就目前来看,如果我有10种音效,我需要10次用户点击来控制它们,这是荒谬!
我有一个具有音效的HTML5网络应用程序。我试图让这些效果在iOS5中工作,并且不能用于我的生活。在iOS5中自动播放HTML5音频/视频
想知道是否有人有任何解决方法来获取iOS5中的HTML5音频/视频控件的JS控件。
甚至可以通过单击来控制多个音频文件。就目前来看,如果我有10种音效,我需要10次用户点击来控制它们,这是荒谬!
Absurb,但你必须从iPhone或任何手机的角度来看它。这是一款移动电话,通过带宽限制的蜂窝网络,许多人从最近的Sprint广告中知道。他们不希望用户超过他们的带宽限制,因为有些网站正在向他们的手机发送大量数据,而他们自己却不采取行动。
以下是官方Safari Developer Library的摘录,其中有更多详细信息。下载蜂窝网络
在Safari的iOS上
用户控制(对于所有设备,包括ipad公司),其中用户可以 是蜂窝网络上,并且每个数据单元,预紧和 被充电自动播放功能被禁用。直到用户启动它才会加载数据。 这意味着除非用户操作触发play()或load()方法,否则在用户启动播放之前,JavaScript play()和load()方法也处于非活动状态。 。换句话说,用户启动的Play按钮有效,但onLoad =“play()”事件不会。
此播放电影:
<input type="button" value="Play" onClick="document.myMovie.play()">
这确实在iOS什么:
<body onLoad="document.myMovie.play()">
有点迟来,但这意味着没有解决方案? – dragonx
+1说'Absurb' – dopatraman
你有没有尝试过这样的事情?
function clickedOnce(){
$('audio').each(function(){
this.play();
});
}
是的:)只有其中一个作品。其他人被忽略。我的代码现在是这样的:'var files = $('audio'); ... clickFn(){files.pop()。play(); }'控制每个文件... –
是的,我只是能够检查Ipad,它只能播放一个:( – ryuutatsuo
你可以发布更多的代码,我可能需要这个在未来以及。 – ryuutatsuo
由于苹果,他们限制了自动播放功能,以防止手机数据收费。在xcode4中,我添加了一个解决方法。在你的“webViewDidFinishLoad”发送一个JavaScript调用来自动播放视频,它的工作原理。我用普通的javascript在html文件中试过这个,但没有奏效。尽管通过webViewDidFinishLoad做到了这一点。在这个例子中,我想自动播放我的index.html页面上的视频。我在该页面上有一个名为startVideo()的JavaScript函数。
- (void)webViewDidFinishLoad:(UIWebView *)webView{
NSURLRequest* request = [webView request];
NSString *page = [request.URL lastPathComponent];
if ([page isEqualToString:@"index.html"]){
NSString *js = @"startVideo();";
[myWebMain stringByEvaluatingJavaScriptFromString:js];
}
}
这是我的javascript函数:
<script>
function startVideo(){
var pElement3 = document.getElementById('myVideo');
pElement3.play();
}
</script>
下面是如果你是新的HTML视频的HTML
<video id="myVideo" poster="index_poster.png" width="1024" height="768" xcontrols autoplay="autoplay">
<source src="flow.m4v" type="video/mp4"/>
browser not supports the video
</video>
苹果不允许在那里的iOS的自动播放就我知道,它必须由用户点击启动,也一次只能播放一个文件用于播放视频并且音频可能相同 – ryuutatsuo
我可以覆盖音轨,但我只需要为每个o ne这么做... –
就像@andrewh提到它是用户激活的那样,为什么你不在你的整个应用上覆盖一个透明的div,当用户触摸你的时候删除并激活你的音频,这种方式就是用户交互。这更像是一种黑客行为。或者通过您应用中可能具有的任何其他按钮来触发音频,这需要点击 – ryuutatsuo