Ios 尝试实例化AVAudioPlayer时,NSBundle会找到mp3文件,但不会找到m4a

Ios 尝试实例化AVAudioPlayer时,NSBundle会找到mp3文件,但不会找到m4a,ios,avaudioplayer,ios6.1,Ios,Avaudioplayer,Ios6.1,我有一个简单的应用程序,可以播放音频文件。每当我将mp3文件加载到NSURL时,它都可以正常工作,AVAudioPlayer可以播放歌曲。但是,当我更改为m4a文件时,NSString路径返回nil,就像它无法找到文件的路径一样,因此NSURL不会形成。m4a文件当然在项目中。下面是代码,但我认为这不是代码问题。有什么想法吗?谢谢 NSString *path = [[NSBundle mainBundle] pathForResource:@"end" ofType:@"m4a"]; NSUR

我有一个简单的应用程序,可以播放音频文件。每当我将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];
}

检查目标的构建阶段,如果m4a文件未列在复制包资源阶段组下,请添加它,然后清理,然后再次运行。

是否检查该文件是否已添加到目标?感谢Yazid,此操作成功。你知道为什么mp3会进入捆绑资源,而m4a没有吗?@user1612579当你把文件拖到你的项目中时,会弹出一个带有一些选项的窗口。您只需要确保勾选将文件添加到目标的选项。你可能错过了。嗯,mp3在你导入时为你的目标设置了刻度,m4a没有!!