Safari - HTML 5 аудио загружается очень медленно - PullRequest
0 голосов
/ 04 ноября 2019

У меня есть следующий код загрузки аудио в Javascript.

В Firefox поток начинает воспроизводиться сразу, но в Safari требуется несколько минут, чтобы начать играть, почему это так?

var audioPlayer = {

track_element: [],
track_state: [],
context: [],
audio: [],
analyser: [],
source: [],

trigger: function (e, id, src) {



    if ( this.track_element[id] === undefined ) {

        this.context[id] = new (window.AudioContext || window.webkitAudioContext)();

        this.audio[id] = new Audio();
        this.audio[id].autoplay = true;
        this.audio[id].crossOrigin = "anonymous";
        this.audio[id].src = src;

        this.source[id] = this.context[id].createMediaElementSource(this.audio[id]);
        this.analyser[id] = this.context[id].createAnalyser();

        this.source[id].connect(this.analyser[id]);
        this.analyser[id].connect(this.context[id].destination);

        this.track_element[id] = e.target;

    }



    for ( var key in this.track_element ) {


        this.track_element[key].innerHTML = "PLAY";


        if ( this.track_state[key] ) {

            this.audio[key].pause();
            this.track_state[key] = false;

        } else if ( key == id ) {




            this.track_state[key] = true;

            this.track_element[key].innerHTML = "LOADING";

            this.audio[key].oncanplay = function(key) {
            this.audio[key].play(); 
            this.track_element[key].innerHTML = "PAUSE";
            }.bind(this, key);

        ///analyser code removed

        }

    }


}   


}

Я пробовал без анализатора, и это не имеет значения.

Я должен написать еще немного текста? Сколько текста мне нужно написать, я объяснил проблему?

...