目前我正在开发一个 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。
目前我无法访问完整的代码,所以这只是音乐播放器的核心部分。
我还需要制作一个播放列表功能,但由于这个原因,在没有用户交互的情况下播放播放列表中的下一首曲目似乎是不可能的。