iOS:如何方便地存储和播放许多mp3文件

时间:2012-09-08 04:33:37

标签: ios audio mp3

我有一个大约有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秒才能播放。之后播放其他声音是可以的,即,当我按下“播放声音”按钮时,它几乎立即播放。您是否有任何建议可以更有效地存储和播放这些文件?非常感谢你

1 个答案:

答案 0 :(得分:3)

AVAudioPlayer最初开始播放有时会花费不合时宜的时间。解决这个问题的一个好方法是在调用play之前创建初始alloc / init。这样,在用户按下播放按钮之前,播放器已准备好播放。此外,在播放前调用[player prepareToPlay];有助于略微提升效果。