在尝试实例化AVAudioPlayer时,NSBundle找到mp3文件而不是m4a

时间:2013-07-25 19:36:43

标签: ios avaudioplayer ios6.1

我有一个应该播放音频文件的简单应用。每当我加载一个mp3文件到我的NSURL工作正常,AVAudioPlayer播放这首歌。但是,当我更改为m4a文件时,NSString路径返回nil,就像它无法找到我的文件的路径,因此没有形成NSURL。当然,m4a文件存在于项目中。它遵循下面的代码,但我不认为是代码问题。任何想法?感谢。

NSString *path = [[NSBundle mainBundle] pathForResource:@"end" ofType:@"m4a"];
NSURL *urlFile = [NSURL fileURLWithPath:path];
NSError *error;
soundPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:urlFile error:&error];
if (error)
{
    NSLog(@"Error in audioPlayer: %@",[error localizedDescription]);
} else {
    soundPlayer.delegate = self;
    [soundPlayer prepareToPlay];
    [soundPlayer play];
}

1 个答案:

答案 0 :(得分:11)

检查目标的构建阶段,如果您的m4a文件未列在“复制捆绑资源”阶段组下,请添加,然后清除,然后再次运行。