【问题标题】:Looping HTML5 audio on the iPhone在 iPhone 上循环播放 HTML5 音频
【发布时间】:2010-04-05 03:17:56
【问题描述】:

我正在尝试在我的 iPhone 上制作一个 HTML5 网络应用程序,它只是一遍又一遍地播放声音。我不知道任何 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 音频屏幕循环播放声音?

【问题讨论】:

    标签: iphone audio html


    【解决方案1】:

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

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

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

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

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

    请注意,使用 iOS 4 时,音频是在没有全屏 QT 播放器的情况下播放的。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 我有同样的问题,使用 loop="loop" 的键值对对我不起作用。
      【解决方案3】:

      iPhone OS 3.0 不完全支持

      【讨论】:

        【解决方案4】:

        怎么样:

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

        【讨论】:

          【解决方案5】:

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

          【讨论】:

          • Mobile Safari 似乎不支持循环属性。
          【解决方案6】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-03-03
            • 1970-01-01
            • 2012-07-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-01-30
            相关资源
            最近更新 更多