在button上播放声音(AVaudio播放器)返回零string参数

我试图按button播放声音。 以前,我使用的Audiotoolbox工作得很好,具有相同的文件types。 但是,我需要改变使用AvAudioPlayer,因为它不使用铃声音量。

所以上周我开发了一个使用audio播放器播放声音的理解。 我使用完全相同的代码在我的应用程序上工作。 不过,尽pipe尝试无数次这个应用程序将无法使用AVFoundation / AudioPlayer。 我试图添加新的文件,新的button,改变文件的扩展名。 文件名在资源文件夹中。 我没有拼错这个名字。

确切的问题是,当我试图find我的文件时,它返回一个零string参数:

终止应用程序,由于未捕获exception“NSInvalidArgumentException”,原因:' * – [NSURL initFileURLWithPath:]:nilstring参数'

我已经看过关于这个每个论坛的post,但没有一个会帮助我。 我只能认为我的项目中的潜在问题可能是资源文件夹,而不是实际的AVAudioPlayer代码,因为我有这个确切的代码在另一个项目上工作相同。 任何帮助将不胜感激,因为我难住。

这是重要的代码:

这是在我的

@interface MainViewController : UIViewController @property (strong, nonatomic) AVAudioPlayer *theAudio; - (IBAction)test:(id)sender; 

这是在我的

 @synthesize theAudio; - (IBAction)test:(id)sender { NSString *path = [[NSBundle mainBundle] pathForResource:@"beast" ofType:@"wav" ]; self.theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil]; [self.theAudio play]; } 

请帮助

[NSBundle pathForResource:ofType:]返回的nilpath意味着wav文件没有被复制到你的应用程序包中。

你有没有把文件添加到你的项目? 如果是这样,你的目标中包含的文件? 检入目标>构build阶段>复制包资源,或者在项目导航器(⌘1)中选中它们,然后选中文件检查器(⌘⌥1)中的checkbox。

我遇到过同样的问题。 使用AVPlayer而不是AVAudioPlayer保存我的一天。