gpt4 book ai didi

javascript - 播放音频解决方法需要用户交互吗?

转载 作者:行者123 更新时间:2023-12-02 23:30:44 26 4
gpt4 key购买 nike

目前我正在开发一个 html5/js 音乐播放器应用程序。我有很多移动设备用户在播放音乐时遇到问题。根据许多网站,您需要先进行用户交互,然后才能播放音频。

目前这就是我编写音乐播放器的方式。
我已经使用 onclick 属性来检测播放按钮上的点击/点击。

<button onclick = "playaudio('song name');">Play</button>

然后我有 js 代码来解析播放 url。
var http = new XMLHttpRequest();
var url = '/getsong';
var params = 'name='+songname;
http.open('POST', url, true);


http.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

http.onreadystatechange = function() {
if(http.readyState == 4 && http.status == 200) {
var snd=document.getElementsByTagName("audio")[0];
snd.src = http.responseText;
snd.load();
snd.play();
}
}
http.send(params);

这在计算机上运行良好,但在移动用户上必须单击暂停/播放按钮才能开始播放音乐。用户交互要求是否有任何解决方法,因为我想实现一个远程播放系统,如 Google Cast/Spotify Connect。

目前我无法访问完整的代码,所以这只是音乐播放器的核心部分。

我还需要制作一个播放列表功能,但由于这个原因,在没有用户交互的情况下播放播放列表中的下一首轨道似乎是不可能的。

最佳答案

之前提出的问题说在某些移动浏览器上不允许音频自动播放,您可以实现,有几种解决方法。

Audio Tag Autoplay Not working in mobile

是的,关于播放器,您可以选择开源 HTML5 播放器,Amplitude.js,它支持播放列表以及基于播放列表无需用户交互的下一首歌曲播放,您可以在他们的网站上查看演示

https://521dimensions.com/open-source/amplitudejs

引用他们 GitHub 上的代码:

https://github.com/521dimensions/amplitudejs

关于javascript - 播放音频解决方法需要用户交互吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53927506/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com