【发布时间】:2014-04-24 19:37:43
【问题描述】:
我正在尝试在按下按钮时播放声音。以前,我使用 Audiotoolbox,它适用于相同的文件类型。但是,我需要更改为使用 AvAudioPlayer,因为它不使用铃声音量。
所以上周我了解了使用音频播放器在点击时播放声音。我让它使用 exact 相同的代码在我的 over 应用程序上工作。但是,尽管尝试了无数次,但这个应用程序无法与 AVFoundation/AudioPlayer 一起使用。我尝试添加新文件、新按钮、更改文件扩展名。文件名是在资源文件夹中。我没有把名字拼错了。
确切的问题是它在尝试查找我的文件时返回一个 nil 字符串参数:
由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'* -[NSURL initFileURLWithPath:]: 零字符串参数'
我几乎看过所有关于此的论坛帖子,但没有一个对我有帮助。我只能认为我的项目中存在潜在问题,可能是资源文件夹而不是实际的 AVAudioPlayer 代码,因为事实上我有这个确切的代码在另一个项目上工作相同。任何帮助都将不胜感激,因为我很难过。
这里是重要的代码:
这是在我的 .h 中
@interface MainViewController : UIViewController
@property (strong, nonatomic) AVAudioPlayer *theAudio;
- (IBAction)test:(id)sender;
这是在我的 .m 中
@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];
}
请帮忙
【问题讨论】:
标签: ios audio avfoundation avaudioplayer nsurl