让我的AVAudio播放器工作

时间:2014-02-06 17:07:14

标签: objective-c avaudioplayer

我正在尝试使用AVAudioPlayer来播放mp3。这是我的代码:

- (void) playClip {
NSString *mp3File = [[NSBundle mainBundle] pathForResource:@"inFavor" ofType:@"mp3"];
AVAudioPlayer *avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:mp3File] error:NULL];
[avPlayer play];
}  

我引用的文件的名称是“inFavor.mp3”

我对Objective-C有点新意,所以我不确定为什么这不起作用。我正在使用Xcode 5。

2 个答案:

答案 0 :(得分:1)

尝试此代码,您需要检查错误。粘贴您错误的日志

NSError *error;
NSString *path = [[NSBundle mainBundle] pathForResource:@"inFavor" 
                                              ofType:@"mp3"];
AVAudioPlayer* avPlayer = 
  [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path]
                                         error:&error];
if (error) {
   NSLog(@"failed playing error: %@", error);
}else{
//avPlayer.delegate = self;
[avPlayer play];
}

答案 1 :(得分:1)

使AVAudioPlayer成为类的属性,以便在函数超出范围时不会释放它。

@property (strong, nonatomic) AVAudioPlayer* avPlayer;

然后用

初始化
self.avPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:mp3File] error:NULL];