我在至少三个教程中看到了这一小段代码,当我按下连接到我得到的动作的按钮时:
'NSInvalidArgumentException',原因:' * - [NSURL initFileURLWithPath:]:nil string parameter'
它说我的路径为空,这是根据控制台。对我缺少什么有任何想法?
-(IBAction) pushStart
{
NSString *arrowSoundPath = [[NSBundle mainBundle] pathForResource:@"Arrow.mp3" ofType:@"mp3"];
NSLog(@"%@",arrowSoundPath);
AVAudioPlayer *theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:arrowSoundPath] error:NULL];
theAudio.delegate = self;
[theAudio play];
}
答案 0 :(得分:6)
从第一个参数中移除'.mp3'扩展名为-pathForResource:ofType:
。它应该是[[NSBundle mainBundle] pathForResource:@"Arrow" ofType:@"mp3"]
。你现在的方式,-pathForResource:ofType:
正在寻找一个名为'Arrow.mp3.mp3'的文件,该文件不存在,因此返回nil
,这会导致你的错误。