次の SoundCloud Developers ページのコード例を使用すると、AVAudioPlayer は SCRequest 応答を受信した後に再生を開始します。要求されたファイルのサイズによっては、時間がかかる場合があります。
iOS SoundCloud API は、すべてのデータを受信する前にオーディオの再生を開始できるようにするためのプレバッファ ソリューションを提供していますか?それとも、これを実現するために NSURLConnection を使用して独自のソリューションを実装する必要がありますか?
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary *track = [self.tracks objectAtIndex:indexPath.row];
NSString *streamURL = [track objectForKey:@"stream_url"];
SCAccount *account = [SCSoundCloud account];
[SCRequest performMethod:SCRequestMethodGET
onResource:[NSURL URLWithString:streamURL]
usingParameters:nil
withAccount:account
sendingProgressHandler:nil
responseHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
NSError *playerError;
player = [[AVAudioPlayer alloc] initWithData:data error:&playerError];
[player prepareToPlay];
[player play];
}];
}