我正在尝试播放音频并使用相同的按钮切换视图..
- (IBAction)yourbuttonClicked:(UIButton *)sender
{
//start a background sound
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"tap2" ofType: @"caf"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:soundFilePath ];
myAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];
myAudioPlayer.numberOfLoops = -1; //infinite loop
[myAudioPlayer play];
//for Switch view
ViewController *nextView = [[ViewController alloc] initWithNibName:@"ViewController2"
bundle: Nil];
[self.navigationController pushViewController:nextView animated:YES];
}
2014-03-02 19:07:46.817 Balloon Tap [847:70b] *因未捕获的异常而终止应用 'NSInvalidArgumentException',原因:'* - [NSURL initFileURLWithPath:]:nil string 参数'
当我启动我的模拟器并单击执行操作的播放按钮时,它会崩溃,并且在我的日志中它会出现上面的错误..
如何修复此问题并编辑代码?
答案 0 :(得分:0)
看起来soundFilePath是Nil
试试这个 NSURL * url = [NSURL fileURLWithPath:stringPath];
这会删除alloc,这可能会在这里引起一些问题。另外我确定你已经检查过了,但文件名有问题吗?它确实存在于您的捆绑包中吗?即它是用其余的代码编译的吗?确保将该文件添加到项目中,并且它出现在Xcode中可执行文件目标的“复制包资源”构建阶段。