在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 被请求相同的次数。
但是只为(更新的)LAST轨道调用回调(但声音播放正常)。
UPD:顺便说一句,它还多次插入 SM2 js,这看起来像是一个问题