/ / Защо API на SoundCloud няма да отговори, докато не щракна три пъти при възпроизвеждане на мобилни телефони? - javascript, android, jquery, mobile, soundcloud

Защо SoundCloud API няма да отговори, докато не кликна три пъти върху игра на мобилни телефони? - javascript, android, jquery, мобилни, soundcloud

Създадох собствен музикален плейър сAPI на SoundCloud и всичко работи добре на настолни компютри. По някаква причина обаче са необходими поне три кликвания върху бутона за възпроизвеждане на мобилен телефон, преди музикалният плейър действително да започне. Някакви идеи какво правя грешно?

По-долу е моят jQuery код. музикалният ми плейър е JS обект и това е методът на възпроизвеждане:

//<-- PLAY TRACK -->
this.playTrack = function(track, number) {

var that = this;

SC.stream("/tracks/" + track, {onfinish: function() {
that.onFinish(number);
}},

function (sound) {
that.stream = sound;
that.currentTrack = track;

var trackName = $(that.track_links[number]).html();
trackName = trackName.replace(/d.s/, "");
that.player.find(".current-track").css("display", "block");
that.player.find(".current-track").children("p").html(trackName);

sound.play({
whileplaying: function () {
that.player.find(".progress").css("width", ((sound.position / sound.duration) * 100) + "%");
that.player.find(".playtime").html(that.minutesAndSeconds(sound.position));
},
});

that.updateProgress(sound);

that.playing = true;
});
}

Отговори:

-1 за отговор № 1

Имах и този проблем - всичко работеше добре на десктоп, но плейърът предприемаше опити на мобилни устройства, преди да започне да играе. Забелязах това в конзолата:

Failed to execute "play" on "HTMLMediaElement": API can only be initiated by a user gesture.

Играта всъщност се инициира с щракване - такаНе съм сигурен защо Soundmanager го блокира по този начин. Моето решение беше да инициирам първоначалното събитие „play“, когато потребителят щракне върху елемент - в моя случай този, който извежда плейъра в полезрението. Все още получавам грешката - но следващото щракване работи.