在iPhone上循环播放HTML5音频

问题描述:

我正在尝试制作一个HTML5 Web应用程序,它只需在我的iPhone上播放一遍又一遍的声音。我不知道任何Obj-C在本地执行它。在iPhone上循环播放HTML5音频

我有什么工作正常,但声音只能播放一次:

<!DOCTYPE html> 
<html> 
    <head> 
     <title>noisemaker!</title> 
     <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
     <meta name="viewport" content="maximum-scale=1, minimum-scale=1, width=device-width, user-scalable=no" /> 
     <meta name="apple-mobile-web-app-capable" content="yes" /> 
    </head> 
    <body> 
     <audio src="noise.mp3" autoplay controls loop></audio> 
    </body> 
</html> 

有没有办法要么绕过QuickTime音频屏幕,循环播放的网页,或得到的QuickTime音频屏幕循环声音?

我发现“循环”属性在iPhone(iOS 4.0)上的HTML5音频元素的最新实现中似乎没有完全起作用。我发现这是一种解决方法:

<audio src="noise.mp3" onended="this.play();" controls="controls" autobuffer></audio> 

我发现,你在上面放“循环”,或“onended”事件似乎不触发(即“循环”部分实现)。

请注意,“自动播放”在iPhone上被故意禁用。

看来“音量”属性目前还没有完全实现。

请注意,iOS 4音频播放时没有全屏幕QT播放器。

+0

+1这工作得非常好。谢谢! – FCTW 2011-12-15 19:18:21

您可以用老式的嵌入标签来做到这一点,但我不知道Mobile Safari是否会遵守其循环属性。

+0

Mobile Safari似乎不遵循循环属性。 – ZeroUptime 2010-04-05 21:05:57

您是否尝试过使用键/值对的属性。我知道你应该能够指定attr,但只是扮演魔鬼的拥护者。 尝试:

<audio src="noise.mp3" autoplay="autoplay" controls="controls" loop="loop"></audio> 
+0

我有同样的问题,使用loop =“loop”的键值对不适合我。 – 2010-11-19 06:04:41

什么:

<audio src="noise.mp3" autoplay="" controls="" onended="this.play()"></audio> 

iPhone OS 3.0不完全支持<音频>标签 - 所有它会用它做是在QuickTime的风格,充分发挥它。

不允许播放像视频或声音的媒体(到目前为止)。如果您想播放视频或音频,iPhone将在外部(默认)播放器中打开它。 当玩家打开时,您无法控制网页,直到用户关闭外接播放器或视频/声音自行停止。