在iOS5中使用AVAudioPlayer?

时间:2012-02-08 10:52:33

标签: avaudioplayer

所以我试图在iOS5中播放一个.wave文件,我收到一个警告,这会导致SIGABRT和一般不能正常工作的代码。

NSURL *soundUrl = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/Resources/Sounds/01_main_menu_list.wav", [[NSBundle mainBundle] resourcePath]]];
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil];
[_audioPlayer setDelegate:self];
[_audioPlayer play];

这给了我一个错误“发送”ViewController * const __strong“到不兼容类型'id'的参数。

我真的不知道为什么,我已经关注了六个例子而且空洞。我喜欢指向正确方向的指针。

2 个答案:

答案 0 :(得分:2)

这应该有效:

NSURL* soundUrl = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"01_main_menu_list" ofType:@"wav"]]; 
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil];
audioPlayer.delegate = self;
[audioPlayer play];

如果没有,我认为wav文件有问题。也许编码?

答案 1 :(得分:0)

原来这是ARC发布的问题,我通过为AVAudioPlayer添加@property和@synthesize对来修复它,并声明它很强大。它摆脱了所有这些错误,并且没有任何问题播放文件。