Если вы говорите о this libraries, я могу вам помочь.
Прежде всего, вы должны запустить этот метод, чтобы получить некоторую информацию о треке его ID:
[api performMethod: @"GET"
onResource: @"tracks"
withParameters: [NSDictionary dictionaryWithObject:trackID forKey:@"ids"]
context: @"trackid"
userInfo: nil];
Если вы не знаете, TrackID и имеют только ссылку, чтобы отслеживать, как этот: http://soundcloud.com/go-yoshimura/mikasasukasa, а затем запустить этот метод:
[api performMethod: @"GET"
onResource: @"resolve"
withParameters: [NSDictionary dictionaryWithObject:songLink forKey:@"url"]
context: @"songname"
userInfo: nil];
Затем вы должны реализовать методы делегата:
- (void)soundCloudAPI:(SCSoundCloudAPI *)soundCloudAPI
didFinishWithData:(NSData *)data
context:(id)context
userInfo:(id)userInfo;
- (void)soundCloudAPI:(SCSoundCloudAPI *)soundCloudAPI
didFailWithError:(NSError *)error
context:(id)context
userInfo:(id)userInfo;
В первом методе вы должны анализировать данные с помощью JSON Parser (JSONKit или SBJSON). Вы должны получить NSDictionary.
streamURL = [(NSDictionary *)jsonData objectForKey:@"stream_url"];
streamable = [[(NSDictionary *)jsonData objectForKey:@"streamable"] boolValue];
Если этот трек поточный, вы можете получить SCAudioStream таким образом:
stream = [[SCAudioStream alloc] initWithURL:[NSURL URLWithString:streamURL] authentication:auth];
Auth Вы можете создать ранее в методе инициализации таким образом:
conf = [SCSoundCloudAPIConfiguration configurationForProductionWithClientID: kSCClientID
clientSecret: kSCClientSecret
redirectURL: kSCRedirectURL];
auth = [[SCSoundCloudAPIAuthentication alloc] initWithAuthenticationDelegate:self apiConfiguration:conf];
И теперь у вас есть SCAudioStream.
//Playing
[stream play];
//Pause
[srteam pause];
//Seeking
[stream seekToMillisecond:ms startPlaying:YES];
Это все :)