Я сделал приложение, где пользователи могут слушать музыку. На каждом браузере работает нормально. Но если я проверю это в сафари, песня пропускается через 2/3 минуты до начала песни. Есть ли решение, чтобы предотвратить это и сохранить воспроизведение песни до конца?
Аудио тег похож на эту строку кода.
<audio id="lyzaplayer" crossOrigin="anonymous" media-player="audioPlayer" preload="none"></audio>
Я запускаю песню одним нажатием на кнопку. когда я нажимаю на него, он запускает эти строки кода (сначала я загружаю аудио со значением data-src, которое ссылается на аудиофайл в моей аудио-папке. После этого я воспроизводил аудио)
audio.load($('a', 'ol #' + songId).attr('data-src'));
setTimeout(function(){
audio.play();
}, 1000);
Я работаю с audiojs
и использую эти строки кода, чтобы проверить, закончен ли трек
var a = audiojs.createAll({
trackEnded: function() {
console.log('track ended');
var next = $('ol li.playing').next();
if (!next.length) next = $('ol li').first();
next.addClass('playing').siblings().removeClass('playing');
audio.load($('a', next).attr('data-src'));
setTimeout(function() {
audio.play();
}, 1000);
}
});
Но console.log
не воспроизводится, поэтому функция не воспроизводится, потому что песня переходит к началу в середине.