我有一个大约有2000个短mp3文件的程序。我现在将所有这些文件存储到文件夹Supporting Files
中,当我想玩时我会调用此函数:
-(void)playSound:(NSString *)mySoundFileName{
NSString *filePath = [[NSBundle mainBundle] pathForResource:mySoundFileName ofType:@"mp3"];
if ([NSData dataWithContentsOfFile:filePath]) {
url = [NSURL fileURLWithPath:filePath];
audioPlayer = [[AVAudioPlayer alloc]
initWithContentsOfURL:url
error:nil];
[audioPlayer play];
}
}
但是,第一次播放声音时,搜索/加载文件总是需要很长时间。更具体地说,在按下“播放声音”按钮播放声音后,我必须等待至少5秒才能播放。之后播放其他声音是可以的,即,当我按下“播放声音”按钮时,它几乎立即播放。您是否有任何建议可以更有效地存储和播放这些文件?非常感谢你
答案 0 :(得分:3)
AVAudioPlayer最初开始播放有时会花费不合时宜的时间。解决这个问题的一个好方法是在调用play之前创建初始alloc / init。这样,在用户按下播放按钮之前,播放器已准备好播放。此外,在播放前调用[player prepareToPlay];
有助于略微提升效果。