Soundcloud: Cannot set property 'id' of un

2019-06-02 14:55发布

问题:

The code below is compiled from CoffeeScript, hope it's still readable

(function() {

  $(function() {
    var PLAYLIST_ID, SOUNDCLOUD_ID, tracks, tracks_ready, tracks_total;
    SOUNDCLOUD_ID = '6d5064768cc29c71e1f66691f435589a';
    PLAYLIST_ID = '1768866';
    SC.initialize({
      client_id: SOUNDCLOUD_ID
    });
    tracks = [];
    tracks_total = 0;
    tracks_ready = function() {
      return tracks[0].play();
    };
    return SC.get('/playlists/' + PLAYLIST_ID, function(pl) {
      var track;
      track = pl.tracks[0];
      return SC.stream('/tracks/' + track.id, function(sound) {
        tracks.push(sound);
        return tracks_ready();
      });
    });
  });

}).call(this);

The code is executed after jquery and "//connect.soundcloud.com/sdk.js" are included.

And it gives Uncaught TypeError: Cannot set property 'id' of undefined with the following trace:

window.SC.SC.Helper.merge.stream - window.SC.SC.Helper.merge.whenStreamingReady - some SM2 stuff

回答1:

Oh, there seems to be a bug in SC.stream. Quick workaround is to pass the optional options object: SC.stream('/tracks/' + track.id, {}, function(sound)....) Will make sure to get a fix out there as soon as possible.