Soundcloud iOS API - play sound from a link

I want to play public sound in my application using the Soundcloud API. After some network searches, I find a way to do this, but I can't get my code to work. Here is the code I tried to reproduce:

    NSString *publicTrackUrlString = @"https://soundcloud.com/miroslav-osipovic/the-cat-empire-the-lost-song";
NSString *urlString = [NSString stringWithFormat:@"%@?client_id=64a52bb31abd2ec73f8adda86358cfbf", publicTrackUrlString];
[SCRequest performMethod:SCRequestMethodGET
              onResource:[NSURL URLWithString:urlString]
         usingParameters:nil
             withAccount:nil
  sendingProgressHandler:nil
         responseHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
             NSError *playerError;
             player = [[AVAudioPlayer alloc] initWithData:data error:&playerError];
             [player prepareToPlay];
             [player play];
         }];
+4
source share
1 answer
NSString *trackID = @"100026228";
NSString *clientID = @"YOUR_CLIENT_ID";
NSURL *trackURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://api.soundcloud.com/tracks/%@/stream?client_id=%@", trackID, clientID]];

NSURLSessionTask *task = [[NSURLSession sharedSession] dataTaskWithURL:trackURL completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
    // self.player is strong property
    self.player = [[AVAudioPlayer alloc] initWithData:data error:nil];
    [self.player play];
}];

[task resume];

You can get the track identifier from the permission resource: http://api.soundcloud.com/resolve.json?url=http://soundcloud.com/miroslav-osipovic/the-cat-empire-the-lost-song&client_id=YOUR_CLIENT_ID .

+17
source

All Articles