【问题标题】:Safari browser audio.play() is not workingSafari 浏览器 audio.play() 不工作
【发布时间】:2018-10-30 07:26:40
【问题描述】:

我正在使用以下音频标签<audio id="player"></audio>,在 jquery 中我使用过
var player = document.getElementById('player'); player.src ='/ajax.php'; player.play();

Safari 浏览器显示以下错误且未播放音频。 Unhandaled promise Rejection: NotSupportedError: The Operation is not supported

我已经搜索了这个,但没有得到任何适当的解决方案。有谁知道解决方案?提前致谢。

【问题讨论】:

  • 尝试在 windowload 上添加音频上下文
  • 给出错误找不到变量:AudioContext。我在窗口加载功能中使用过
  • 你能控制台记录你的播放器源吗?看来来源有问题

标签: javascript jquery ios safari html5-audio


【解决方案1】:

浏览器禁止自动播放,用户必须点击才能播放。

【讨论】:

  • 是的,我有一个播放按钮,点击调用 ajax 后我们调用 player.play() 函数。
【解决方案2】:

请检查静音设置。

  Unmute, if it is set to mute.
  https://support.apple.com/kb/PH21463?locale=en_US

【讨论】:

  • 音频被取消静音。
【解决方案3】:

Promise 的拒绝处理程序使用作为唯一输入参数传入的异常名称调用(与抛出传统异常相反)。可能的错误包括:

NotAllowedError 用户代理(浏览器)或操作系统不允许在当前上下文或情况下播放媒体。例如,如果浏览器要求用户通过单击“播放”按钮明确开始媒体播放,则可能会发生这种情况。

NotSupportedError 媒体源(例如,可以指定为 MediaStream、MediaSource、Blob 或 File)不代表受支持的媒体格式。

引用自 MDN 网站。

当您收到NotSupportedError 错误时,您应该在此处查找player.src ='/ajax.php';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 2015-12-03
    相关资源
    最近更新 更多