[英]User interaction needed to play audio workaround?
目前,我正在開發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。
目前,我無法訪問完整的代碼,因此這只是音樂播放器的核心部分。
另外,我還需要制作播放列表功能,因此,如果沒有用戶交互,播放播放列表中的下一首曲目似乎是不可能的。
前面的問題說,某些移動瀏覽器不允許音頻自動播放,可以實施,有幾種解決方法。
是的,對於播放器,您可以選擇一個開放源代碼的HTML5播放器Amplitude.js,該播放器支持播放列表以及下一首歌曲,而無需用戶基於播放列表進行交互,您可以在其網站上查看演示
https://521dimensions.com/open-source/amplitudejs
請參閱其GitHub上的代碼:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.