Do not play sounds from stream_url ing SoundCloud API

I can display songs in a table view, but I cannot play them.

here my code is displayed when I click the tracks button

- (IBAction) getTracks:(id) sender { SCRequestResponseHandler handler; handler = ^(NSURLResponse *response, NSData *data, NSError *error) { NSError *jsonError = nil; NSJSONSerialization *jsonResponse = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError]; if (!jsonError && [jsonResponse isKindOfClass:[NSArray class]]) { SCTTrackListViewController *trackListVC; trackListVC = [[SCTTrackListViewController alloc] initWithNibName:@"SCTTrackListViewController" bundle:nil]; trackListVC.tracks = (NSArray *)jsonResponse; NSLog(@"json %@",(NSArray *)jsonResponse); [self presentViewController:trackListVC animated:YES completion:nil]; } }; NSString *resourceURL = @"https://api.soundcloud.com/users/54237635/tracks.json?client_id=8a58d84d48322f5661cf14a3d80e005d"; [SCRequest performMethod:SCRequestMethodGET onResource:[NSURL URLWithString:resourceURL] usingParameters:nil withAccount:nil sendingProgressHandler:nil responseHandler:handler]; } 

here is my code in didselect in tableview:

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSDictionary *track = [self.tracks objectAtIndex:indexPath.row]; NSString *streamURL = [track objectForKey:@"stream_url"]; [SCRequest performMethod:SCRequestMethodGET onResource:[NSURL URLWithString:streamURL] 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]; }]; NSLog(@"streamURL %@", [track objectForKey:@"stream_url"]); } 
+7
ios soundcloud
source share
1 answer

Solved by OP:

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *) { NSDictionary *track = [self.tracks objectAtIndex:indexPath.row]; NSString *streamURL = [track objectForKey:@"stream_url"]; NSString *urlString = [NSString stringWithFormat:@"%@?client_id=%@", streamURL,CLIENT_ID];//Your client ID [SCRequest performMethod:SCRequestMethodGET onResource:[NSURL URLWithString:urlString] usingParameters:nil withAccount:nil sendingProgressHandler:nil responseHandler:^(NSURLResponse *response, NSData *data, NSError *error) { NSError *playerError; NSLog(@"data:%@",data); player = [[AVAudioPlayer alloc] initWithData:data error:&playerError]; [player prepareToPlay]; [player play]; }]; } 
0
source share

All Articles