【问题标题】:HTML5 Audio: Chrome on Android doesn't automatically play song vs Chrome on PC doesHTML5 音频:Android 上的 Chrome 不会自动播放歌曲,而 PC 上的 Chrome 会
【发布时间】:2012-09-17 06:24:51
【问题描述】:

我制作了一个 HTML5 iPod。

你可以在这里试试。

http://inventikasolutions.com/demo/iPod

在 PC 上,同时使用 Chrome。如果我导航到一首歌曲,它会自动开始播放。 但是在 Android 上使用 Chrome 时,它​​不会播放歌曲。我必须再次点击播放/暂停按钮才能播放音频。

这是运行的代码,当您选择要播放的歌曲时:

audioPlayer.src=songurl[number];
audioPlayer.oncanplaythrough = "isAppLoaded";
audioPlayer.autoplay = "autoplay";
audioPlayer.addEventListener('ended',nextSong,false);
document.getElementById("player").appendChild(audioPlayer);

这是播放/暂停代码。

        if (audioPlayer.paused)
        {
        audioPlayer.play();
        $("#pauseindicator").hide();
        $("#playindicator").show();
        }
        else
        {
        audioPlayer.pause();
        $("#pauseindicator").show();
        $("#playindicator").hide();
        }

这可能与“自动播放”变量有关吗? Android 中的默认浏览器会立即播放歌曲。

谢谢。

【问题讨论】:

    标签: android google-chrome


    【解决方案1】:

    似乎有一种新方法可以激活 Chrome 以自动播放音频和视频

    转到 chrome://flags

    Autoplay policy 设置为No user gesture is required

    【讨论】:

      【解决方案2】:

      将 create.js 添加到您的页面:

      <script src="https://code.createjs.com/createjs-2015.11.26.min.js"></script>
      

      然后以这种方式发出声音:

      <script>
          createjs.Sound.registerSound("./click.mp3", "x");
          setTimeout(function () {
              createjs.Sound.play("x");
          }, 10000)
      </script>
      

      在最新的 Android 上为我工作。

      【讨论】:

      • 不是最干净但对我有用的第一个解决方案。谢谢!
      【解决方案3】:

      万一有人遇到这种情况 - Android 版本的 Chrome 实际上会阻止自动播放功能,但您可以更改浏览器的设置。为此,您必须输入 chrome://flags 并将 禁用媒体播放的手势要求 设置为开启。无法通过网络强制执行此设置,但如果您像我一样编写专门的网络应用程序,则可以使用它。

      【讨论】:

      • 我在做一个安卓应用,遇到了这个问题。看到您的解决方案后,我想在我的 java 代码中可能有一些方法可以处理这个问题。最后我发现这很好用。 webview.getSettings().setMediaPlaybackRequiresUserGesture(false);
      • 有趣的事实:关于页面不需要斜杠,所以about:flags 很好(将重定向到chrome://flags
      • 自 21 年 9 月 28 日起,“禁用媒体播放的手势要求”不再是标志。
      【解决方案4】:

      将您的 Chrome 更新到 29,此版本现在支持 WebAudio API 并修复了许多问题。

      见:Chrome for Android Update

      我正在使用 SoundJS Lib,并且在所有浏览器中都运行良好(仅在默认 Android 浏览器和 Android 版本低于 4.1 的 Chrome 中运行不佳)。

      查看这些示例:www.createjs.com/#!/SoundJS/demos/testSuite

      支持 Android 版 Chrome 上的 Web Audio API:code.google.com/p/chromium/issues/detail?id=166003

      SoundJS 限制:community.createjs.com/kb/faq/soundjs-faq

      【讨论】:

        【解决方案5】:

        请参考此链接...

        http://code.google.com/p/chromium/issues/detail?id=138132

        Chrome 不允许应用程序在没有用户明确操作的情况下播放 HTML5 音频,这与 iOS 的处理方式类似,但与普通的 Android 浏览器处理方式不同。

        Android 不支持自动播放,因为它会消耗数据流量。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-02-25
          • 1970-01-01
          • 2021-07-21
          • 1970-01-01
          • 2015-08-10
          • 1970-01-01
          • 2019-11-18
          • 2018-11-02
          相关资源
          最近更新 更多