Próbuję użyć zdarzenia onfinish dla metody Soundcloud Javascript SDK Stream. Mam następujący kod, który działa, z wyjątkiem tego, że zdarzenie onfinish nigdy się nie uruchamia. Wszelkie pomysły byłyby bardzo pomocne.Soundcloud Javascript SDK 2.0 - Zdarzenie stream onfinish nie jest wykonywane
var soundPlayer;
var smOptions = {
useHTML5Audio: true,
preferFlash: false,
onfinish: function() {
console.log('Finished playing');
}
};
SC.initialize({
client_id: "..."
});
SC.stream("/tracks/12345", smOptions, function(sound) {
soundPlayer = sound;
});
Z góry dziękuję!
Aktualizacja:
Od onfinish nie działa Używam metody getstate() na obiekcie SoundPlayer który jest zwracany w SC.stream(). Na szczęście istnieje unikalny stan o nazwie "zakończony" po zakończeniu transmisji. To jest to, co zaimplementowałem:
setInterval(function() {
if (soundPlayer != null && soundPlayer.getState() == "ended") {
soundPlayer.play();
}
}, 250);
Nie jestem z tego zadowolony, ale daje mi to doświadczone pragnienie i spełnia wymagania. Naprawdę mam nadzieję, że ktoś może pomóc rzucić trochę światła na to, dlaczego udokumentowana metoda onfinish nie jest zwalniana.
Ktoś ma jakieś pomysły?
Dzięki, że działa dobrze. Czy jest jakiś pomysł, dlaczego metoda stream nie zwraca obiektu dźwiękowego w wywołaniu zwrotnym, jak mówi dokumentacja? https://developers.soundcloud.com/docs/api/sdks#streaming – Mike
Bez problemu. Nie mam więcej informacji o SDK, ale zaktualizuję ten wątek, jeśli dowiem się więcej. Zrób to samo, jeśli chcesz. –
Działa to dla SDK 2, ale ponieważ SDK 3 jest wydany (październik '15), to już nie działa. jakieś pomysły? –