浏览器无交互动作想要调用麦克风的解决方案(The AudioContext was not allowed to start. It must be resumed (or created) aft)

项目场景

浏览器播放音频,显示正在播放中却没有声音,控制台警告:

The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.


问题描述

在一些场景中,我们需求是在浏览器使用音视频的自动播放功能。但是chrome浏览器在2018年4月起,就在浏览器上全面禁止了音视频的自动播放功能。不光是这样,在页面加载完毕的情况下,用户没有click、dbclick、touch等主动交互行为,使用js直接调用.play() 方法的话,chrome都会抛出此错误。


解决方案:

由于是浏览器的限制,目前有两种解决方法

  • 第一个是遵循浏览器限制,在自动播放前面然用户做一个主动交互行为
  • 第二个是用户自己主动设置:可以运行网站进行声音的播放,这样也可以避免问题,可以按照一下步骤尝试一下:
    1. 打开浏览器设置,然后点击隐私和安全,点击网站设置
      在这里插入图片描述
    2. 找到内容,更多内容设置
      在这里插入图片描述
    3. 找到声音在这里插入图片描述
    4. 添加想要调用麦克风的网址
      在这里插入图片描述

完成以上步骤可以自动播放声音

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值