После того, как Soundcloud: невозможно установить свойство 'id' неопределенного при попытке воспроизвести песню, было разрешено (еще раз спасибо), я собираюсь сделать следующее - я хочу подготовить несколько экземпляров SM2 для воспроизведения нескольких дорожек по требованию.
Вот код (на этот раз не скомпилированный CoffeeScript для удобства чтения, весь jsbin можно увидеть здесь http://jsbin.com/ejapin/edit#javascript,html)
$ ->
SOUNDCLOUD_ID = '6d5064768cc29c71e1f66691f435589a'
PLAYLIST_ID = '1768866'
SC.initialize client_id: SOUNDCLOUD_ID
tracks = []
tracks_total = 0
tracks_ready = ->
for track in tracks
console.log track
track.play()
SC.get '/playlists/' + PLAYLIST_ID, (pl) ->
tracks_total = pl.tracks.length
for track in pl.tracks
console.log "Fetching"
SC.stream "/tracks/#{track.id}", {}, (sound) ->
tracks.push sound
console.log "+ Fetched #{tracks.length}"
if tracks.length == tracks_total
tracks_ready()
Я вижу, что Fetching зарегистрирован 11 раз, и я также вижу, что SM2 swf запрашивается такое же количество раз.
Но обратный вызов вызывается только для (обновленного) ПОСЛЕДНЕГО трека (хотя для него звук воспроизводится нормально).
UPD: кстати, он также несколько раз вставляет js SM2, что выглядит как проблема