【问题标题】:No sound plays after changing <audio> src after page load on mobile devices在移动设备上加载页面后更改 <audio> src 后没有声音播放
【发布时间】:2014-11-27 09:30:09
【问题描述】:

我在这里进行了一次快速的肮脏试验,

<body>

  TEST

  <audio src="preview1.mp3" id="audio"></audio>

</body>

然后在 desktop 上的 javascript 控制台中,我执行以下操作:

var audio = document.getElementById('audio');
audio.play();  // the first audio plays just fine!
audio.pause();
audio.src = 'preview2.mp3';
audio.play();  // the second audio plays fine, too!

但是,当我在任何移动设备(特别是我尝试过的 iOS 和 Android 设备)上执行完全相同的操作时,绝对没有任何反应。根本没有音频播放。

我已经在网上进行了大量搜索,但其他人似乎都不是这样?

想法?

【问题讨论】:

  • 尽管我使用的是可接受的格式,但我的浏览器之前无法播放视频。您是否通过音频转换制作了mp3 文件?
  • 我们正在播放的 MP3 文件如果它是音频元素的原始 src 就可以工作,因此我们知道这不是编解码器/转换问题。只有在初始页面加载后设为src 时才不会播放。

标签: javascript html audio html5-audio src


【解决方案1】:

如果您的音频播放器出现问题,请注意,在 iOS 上的 Safari(适用于所有设备,包括 iPad)中,用户可能在蜂窝网络上并按数据单位收费,预加载和自动播放被禁用由 iOS。在用户启动数据之前不会加载数据。这意味着在用户通过单击播放按钮开始播放之前,音频播放器处于非活动状态。

对于 Android 设备:

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

参考:http://www.wix.com/support/html5/technical-difficulties/browser-compatibility/faq/my-video-is-not-playing-on-my

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 2017-09-30
    • 2013-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多