AVAudioPlayer拒绝播放任何内容,但没有错误等

时间:2012-02-20 14:05:30

标签: objective-c avaudioplayer wave

这是最简单的AVAudioPlayer代码,它只是无法播放任何内容。没有错误,控制台根本没有任何东西,文件肯定被发现,好像我将URL字符串更改为不存在的东西,我确实遇到了崩溃。我在这做错了什么?我已经尝试过,无论是否有代表,以及有没有prepareToPlay,我都无法得到任何东西。我也试过各种声音文件。真的把这头发撕掉了!

@implementation ViewController

- (IBAction)playSound:(id)sender
{
    NSURL *soundLocation = [[NSURL alloc] initWithString:@"Lot01.wav"];
    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundLocation error:nil];
    [audioPlayer setDelegate:self];
    [audioPlayer play];
}

@end

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:1)

似乎没有正确获取文件的路径,也许尝试这样的事情。

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Lot01" ofType:@"wav"];
NSURL *url = [NSURL fileURLWithPath:filePath];

然后按照你的方式初始化AVAudioPlayer,除非在这种情况下它是withContentsOfURL:url。