Tag: html5 audio

在iOS中使用Ajax响应播放html5audio

经过大量的search和研究,我发现iOS阻止了html5audio和video的自动播放。 audio和video只能作为对点击事件的响应播放。 现在,我还有一个问题。 我用很多用户生成的播放列表运行音乐网站。 点击播放后,我发出ajax请求来获取曲目url,然后加载并播放它们。 iOS不认为这是一个同步点击事件来播放音乐,所以点击播放button后音乐不会开始播放。 我必须点击播放器控件的暂停和播放button才能开始播放(基本上只使用暂停()和播放())。 我无法想象要做什么。 在点击事件之前加载所有的MP3url是不可行的。 有没有其他方法来完成这个工作?

使用数据uri的audio在移动版Chrome中显示错误

iOS中的Mobile Chrome(v45.2454.68)在使用数据uri呈现audio元素时显示错误。 它适用于桌面版Chrome,Safari和Firefox,也适用于移动版Safari。 有没有办法解决它?

移动Safari:audio+caching清单

我有一个小型的networking应用程序,点击几个button,播放真正短的声音位。 它明确针对iOS上的移动Safari(iPad)。 在这里和其他地方阅读了关于HTML5audio在移动Safari上的几个“缺点”,并尝试了一些“黑客”和技巧之后,我坚持认为Safari很简单(因为没有更好的词)破碎: 我可以播放声音A(需要很长时间才能开始 – 我假设它是downlading [再次]?)点击buttonA.之后,点击buttonB将立即播放声音A了。 buttonC也一样。在某些情况下,它会发出不同的声音,有时甚至是正确的。 但主要是声音A.使用的格式是.aiff,现在是.m4a。 在自己写了几个小的版本后,我决定去Buzz库去处理声音加载/播放/等等。 有趣的是,他们的演示包括一个游戏,它几乎正是我所需要的, 并触发相同的错误行为。 我甚至结束了在任何标签的任何移动Safari中的任何audio播放器将播放Buzz演示游戏(!)中的特定声音的情况。 我希望caching清单可能有助于克服Apples预加载限制,强制应用程序在离线模式下点击button后播放声音。 但确认整个应用程序已被caching后,我无法在离线模式下播放/听到任何声音。 有没有人设法得到这样的东西以某种方式工作? (看过苹果如何处理某些事情,虽然我不期待太多回应) 更新1: 在这个答案的例子导致相同的效果: 如何在iPad上使用HTML5 / Javascript合成audio 更新2: 更新iOS(和Safari)似乎解决了audio错误。 但是,caching清单似乎并不影响audio文件。 这些文件根本不可用。 删除caching清单后,应用程序可以正常工作,但将其添加到“主屏幕”并重新加载,可防止播放audio。

iOS Safariclosures时停止HTML5audio循环播放

好的,所以我有这样简单的事情: <audio autoplay='autoplay' loop='loop' id='audio' controls> <source src='http://www.w3schools.com/html/horse.ogg'/> <source src='http://www.w3schools.com/html/horse.mp3'/> </audio> 现在,当我在iOS设备上播放audio时,它会很好地循环播放, 但是 ,当我closures浏览器窗口或切换标签时,它会一直循环播放,暂停播放的唯一方法是closures浏览器标签。 我尝试删除loop='loop'并重播它用JavaScript的话, 这工作,但与audio约1.5分钟长,它仍然可以很烦人。 但是这并不起作用,因为即使浏览器未打开, ended事件也会触发。 演示中,声音是我可以在网上find的第一个,但请注意,我的实际声音很长,所以当浏览器窗口closures时,我确实需要pause 。 我已经尝试暂停onblur , onunload和onbeforeunload无济于事。 有没有办法阻止audio在后台播放?

UIWebView:当应用程序进入后台时,HTML5audio会在iOS 6中暂停

美好的一天, 我的应用是一个音乐播放应用。 我用Javascript控制<audio> -Tag。 到目前为止没有问题,播放,暂停,下一个和上一个button正在工作。 当我待机iOS 5中的设备时,音乐继续播放,但自动下一首歌曲不起作用。 当它不在待机状态时,它可以工作。 而在iOS 6中,按下button后,音乐淡出。 锁屏上的播放/暂停button在iOS 5中运行,但在iOS 6中不能运行。