有没有办法检查野生动物园是否已授予音频/视频标签播放权限?

时间:2018-07-09 10:02:05

标签: javascript audio safari webkit

Safari不允许以编程方式播放音频或视频元素,除非在调用堆栈/事件链中源自用户单击/按下。

我正在vue中构建一个播放播客的Web应用程序。我正在构建自定义播放器界面,并且音频元素本身是隐藏的。

这是棘手的部分:当用户单击我的“播放”按钮时,我将更新音频src,然后在nextTick上通知音频元素播放,因为vue异步更新DOM更改。这意味着我的play()呼叫来自用户点击产生的链之外。

我想出的解决方案是,我将在处理click事件的方法中调用.play()(即使没有src,因此将不会播放任何内容)。但是,我只需要第一次进行此操作(一旦完成,我将获得浏览器的“许可”,可以随意播放和暂停)。我可以将其存储为data对象中的布尔值,但我觉得音频元素上必须可以使用某些内容,例如audioTag.hasUserPermission

0 个答案:

没有答案