<audio> tag - Preload = "none" не работает в браузере Android? - PullRequest
0 голосов
/ 28 октября 2019

Я создал очень простой список воспроизведения для воспроизведения некоторых mp3-файлов, и я использую <audio> для хранения файлов, но хотя Chrome, Opera и Firefox на Android уважают preload="none", я не могу сделать собственный браузер Android( тот, который поставляется по умолчанию ), обратите внимание и не воспроизводите автоматически первый файл в списке, что неверно, и для меня это большая проблема, с которой я сталкиваюсь в этом браузере.

Что я здесь не так делаю и как я могу остановить автоматическое воспроизведение в родном браузере Android?

Заранее спасибо

HTML:

<audio id="audio" preload="none" tabindex="0" controls="" type="audio/mpeg">
<source src="https://myselfsite.com/audios/Audio-1.mp3">
</audio>

<ul id="playlist">

 <li class="active">
 <a href="https://myselfsite.com/audios/Audio-1.mp3">
  Details of 1
 </a>
 </li>

 <li>
 <a href="https://myselfsite.com/audios/Audio-2.mp3">
  Details of 2
 </a>
 </li>

 <li>
 <a href="https://myselfsite.com/audios/Audio-3.mp3">
  Details of 3
 </a>
 </li>

</ul>

СКРИПТ:

init();

function init(){
 var audio = document.getElementById('audio');
 var playlist = document.getElementById('playlist');
 var tracks = playlist.getElementsByTagName('a');
 audio.volume = 1;
 audio.play();
 for(var track in tracks) {
 var link = tracks[track];
 if(typeof link === "function" || typeof link === "number") continue;
 link.addEventListener('click', function(e) {
 e.preventDefault();
 var song = this.getAttribute('href');
 run(song, audio, this);

});
}

audio.addEventListener('ended',function(e) {
 for(var track in tracks) {
 var link = tracks[track];
 var nextTrack = parseInt(track) + 1;
 if(typeof link === "function" || typeof link === "number") continue;
 if(!this.src) this.src = tracks[0];
 if(track == (tracks.length - 1)) nextTrack = 0;
 console.log(nextTrack);
 if(link.getAttribute('href') === this.src) {
 var nextLink = tracks[nextTrack];
 run(nextLink.getAttribute('href'), audio, nextLink);
 break;
}
}
});

}

function run(song, audio, link){
 var parent = link.parentElement;
 var items = parent.parentElement.getElementsByTagName('li');
 for(var item in items) {
 if(items[item].classList)
 items[item].classList.remove("active");

}

parent.classList.add("active");
 audio.src = song;
 audio.load();
 audio.play();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...