我正在得到错误信息..

DOMException: play()失败,因为用户没有首先与文档交互。

..当使用Chrome 66版本在桌面上播放视频时。

我确实发现一个广告开始自动播放在一个网站上,但使用以下HTML:

<video
    title="Advertisement"
    webkit-playsinline="true"
    playsinline="true"
    style="background-color: rgb(0, 0, 0); position: absolute; width: 640px; height: 360px;"
    src="http://ds.serving-sys.com/BurstingRes/Site-2500/Type-16/1ff26f6a-aa27-4b30-a264-df2173c79623.mp4"
    autoplay=""></video>

那么,绕过Chrome v66的自动播放拦截器真的像添加webkit-playsinline="true", playsinline="true"和autoplay=""属性<video>元素一样简单吗?这有什么负面影响吗?


当前回答

我改变了我的UI,让用户按下一个按钮来加载网站(当他们点击按钮后,网站加载时,音频播放)

因为他们与DOM交互,然后音频播放!!

其他回答

您应该在videoElement中添加静音属性,以使代码正常工作。看下面..

<video id="IPcamerastream" muted="muted" autoplay src="videoplayback%20(1).mp4" width="960" height="540"></video>

不要忘记添加一个有效的视频链接作为源

公开chrome: / /设置/内容/声音 设置不需要用户手势 重新启动浏览器

在地址栏中输入Chrome://标志

搜索:播放

播放政策 决定是否允许音频或视频时使用的策略 播放。 - Mac, Windows, Linux, Chrome OS, Android

将其设置为“不需要用户手势”

重新启动Chrome浏览器,你不需要改变任何代码

我改变了我的UI,让用户按下一个按钮来加载网站(当他们点击按钮后,网站加载时,音频播放)

因为他们与DOM交互,然后音频播放!!

就我而言,我必须这么做

 // Initialization in the dom
 // Consider the muted attribute
 <audio id="notification" src="path/to/sound.mp3" muted></audio>


 // in the js code unmute the audio once the event happened
 document.getElementById('notification').muted = false;
 document.getElementById('notification').play();