当前,我正在开发html5 / js音乐播放器应用程序。我在移动设备上有很多用户在播放音乐时遇到问题。根据许多网站的介绍,您需要先与用户互动,然后才能播放音频。
目前,这就是我对音乐播放器进行编程的方式。 我已经使用onclick属性来检测播放按钮上的点击/点击。
<button onclick = "playaudio('song name');">Play</button>
然后我有js代码来解析播放网址。
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这样的远程播放系统。
当前我无法访问完整的代码,因此这只是音乐播放器的核心部分。
我还需要创建一个播放列表功能,但是由于这个原因,如果没有用户交互,播放播放列表中的下一首曲目似乎是不可能的。
答案 0 :(得分:0)
以前的问题是,某些移动浏览器不允许音频自动播放,您可以实施,有几种解决方法。
Audio Tag Autoplay Not working in mobile
是的,对于播放器,您可以选择一个开源HTML5播放器Amplitude.js,该播放器支持播放列表以及下一首歌曲,而无需用户基于播放列表进行交互,您可以在其网站上查看演示
https://521dimensions.com/open-source/amplitudejs
请参阅其GitHub上的代码: