我是iOS新手,自上午以來我一直在尋找解決此問題的解決方法,但未找到解決方案,我有超過6000個在線聲音文件,我想使用它AVAudioPlayer
當用戶單擊該單元格,所以我實現它didSelectRowAtIndexPath:
這樣的:AVAudioPlayer播放新聲音時凍結UI
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@", [soundsArray objectAtIndex:(int)indexPath.row]];
NSData *soundData = [NSData dataWithContentsOfURL:url];
_audioPlayer = [[AVAudioPlayer alloc] initWithData:soundData error:NULL];
[_audioPlayer play];
}
的問題是,每當我對任何行點擊,整個UI凍結,直到它需要加載完整的聲音時文件來自互聯網, 更大的文件,它需要更長的時間。
我試着用AVPlayer
和它工作正常,但我需要AVAudioPlayer
becouse似乎容易我 -(void)AVAudioPlayerDidFinishPlaying:(AVAudioPlayer *)Player successfully:(BOOL)flag
這就是工作,爲什麼我要與AVAudioPlayer
來實現它,我希望你明白我的問題, 對不起,我的英語不好。
先停止已經播放的歌曲是很好的做法,您必須在加載另一首歌曲之前先停止播放器嘗試。 – vaibhav