我有一个HTML5网络应用程序,有声音效果.我试图让这些效果在iOS5中运行,但不能用于我的生活.
想知道是否有人在iOS5中有任何解决方法来控制HTML5音频/视频控制.
甚至可以通过一次点击控制多个音频文件.就目前而言,如果我有10个声音效果,我需要10个用户点击来控制所有声音,这是荒谬的!
荒谬,但你必须从iPhone或任何手机的角度看它.这是一部带有带宽限制的移动电话通过蜂窝网络,许多人从最近的Sprint商业广告中了解到这一点.他们不希望用户超过他们的带宽限制,因为某些网站正在向他们的手机发送大量数据而他们自己不采取行动.
以下是官方Safari开发者库的摘录,其中包含更多详细信息.
用户通过蜂窝网络控制下载
在iOS上的Safari(适用于所有设备,包括iPad)中,用户可能位于蜂窝网络上并按数据单元收费,因此禁用预加载和自动播放.在用户启动数据之前不会加载任何数据.这意味着JavaScript play()和load()方法在用户启动回放之前也处于非活动状态,除非用户操作触发play()或load()方法.换句话说,用户启动的播放按钮有效,但onLoad ="play()"事件不起作用.
这个电影:
这在iOS上没有任何作用:
由于Apple,他们限制了自动播放功能以防止小区数据费用.在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函数:
如果你是html视频的新手,这里是html