在iPhone上循环播放HTML5音频

11
我试图创建一个HTML5 Web应用程序,在我的iPhone上不断播放声音。我不知道如何使用Obj-C进行本地操作。我的代码可以正常工作,但声音只播放一次:
<!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音频屏幕循环播放声音?

6个回答

12

我发现iPhone(iOS 4.0)上最新实现的HTML5音频元素中,“loop”属性似乎不完全起作用。我找到了一个解决方法:

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

我发现如果在上面不加上"loop",则"onended"事件似乎无法触发(即"loop"被部分执行)。

请注意,在iPhone上故意禁用了"autoplay"。

此时看来"volume"属性也没有完全实现。

请注意,使用iOS 4播放音频时无需全屏QT播放器。


1

这个怎么样:

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

1

你尝试过使用键/值对来设置属性吗?我知道你应该只需要指定属性,但是为了挑战一下,可以试试这样:

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

我有同样的问题,使用循环的键值对"loop="loop""对我没有用。 - Daniel X Moore

1

iPhone OS 3.0并不完全支持<audio>标签 - 它只会以QuickTime样式完整播放。


0

你可以使用老式的嵌入标签来实现,但我不知道移动版Safari是否会支持它的循环属性。


移动版Safari似乎不支持loop属性。 - aelindeman

-1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接