それぞれがurlプロパティを持つオーディオオブジェクトのテーブルビューがあります。タッチで各オーディオファイルを再生するための(ユーザーにとっての)最速の方法を探しています。
最初にURLからデータを取得してみました:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSURL *audioURL = [NSURL URLWithString:(NSString *)[[[self.objects objectAtIndex:indexPath.row] objectForKey:@"audioFile"] url]];
NSData *audioData = [NSData dataWithContentsOfURL:audioURL];
NSError *error;
self.player = [[AVAudioPlayer alloc] initWithData:audioData error:&error];
self.player.delegate = self;
[self.player play];
}
しかし、それは遅く、無反応です。私はURLをまっすぐに行こうとしました:
self.player = [[AVAudioplayer alloc] initWithContentsOfURL:audioURL]
この状況でオーディオファイルをロードして再生するための最良の方法は何ですか?データを非同期的にフェッチしますか?AVfoundationはオーディオをストリーミングするための最良の方法ですか?
ストリーミングしてみるべきですか?