Safari 浏览器 audio.play() 不工作
Posted
技术标签:
【中文标题】Safari 浏览器 audio.play() 不工作【英文标题】:Safari browser audio.play() is not working 【发布时间】: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
我已经搜索了这个,但没有得到任何适当的解决方案。有谁知道解决方案?提前致谢。
【问题讨论】:
***.com/questions/53058421/… 尝试在 windowload 上添加音频上下文 给出错误找不到变量:AudioContext。我在窗口加载功能中使用过 你能控制台记录你的播放器源吗?看来来源有问题 【参考方案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';
。
【讨论】:
以上是关于Safari 浏览器 audio.play() 不工作的主要内容,如果未能解决你的问题,请参考以下文章
html5的audio,audio.play()在手机浏览器中不能自动播放