我有一个简单的球员在我的网站上,可以播放声音云轨道。我在使用Widget API。过去几周,一切正常,但现在我在Chrome (桌面)中发现了一个错误:不允许启动AudioContext。它必须在页面上的用户手势之后恢复(或创建)。
我只是为你简化了代码:
<!-- Own Play Button -->
<div id="playBtn">Play</div>
<!-- SC Widget -->
<iframe id="sc-widget" src="https://w.soundcloud.com/player/?url=http://api.soundcloud.com/tracks/406078437" scrolling="no" frameborder="no"></iframe>
<!-- JS -->
<script src="/src/vendors/jquery-3.3.1/jquery.min.js"></script>
<script src="/src/vendors/sc-widget-api/sc-widget-api.js"></script>
<script>
$(document).ready(function()
{
var widgetIframe = document.getElementById('sc-widget');
var widget = SC.Widget(widgetIframe);
widget.bind(SC.Widget.Events.READY, function()
{
});
$('#playBtn').on('click', function()
{
widget.play();
})
});
</script>
当我使用Soundcloud小部件Button本身时,我也会收到这个错误消息,但是它会播放这首歌。
当我使用我自己的play按钮时,我会收到这条错误消息,而这首歌不会播放。最后几天都在工作。
我认为Chrome改变了一些东西,但我不知道现在该如何使它发挥作用?我希望你能帮我
发布于 2022-09-29 23:21:56
(为了清理,我将问题作者的编辑变成一个答案,并将撤销编辑)。
只要将属性allow="autoplay"
添加到iframe中,它就能正常工作了!
https://stackoverflow.com/questions/54763084
复制相似问题