我想使用 Soundcloud API 在我的应用中播放公共(public)声音。在网络上进行一些搜索后,我找到了一种方法,但我无法使我的代码正常工作。这是我尝试播放声音的代码:
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];
}];
最佳答案
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];
您可以从解析资源中获取轨道 ID:http://api.soundcloud.com/resolve.json?url=http://soundcloud.com/miroslav-osipovic/the-cat-empire-the-lost-song&client_id=YOUR_CLIENT_ID .
关于ios - Soundcloud iOS API - 从链接播放声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21177594/