我无法使用AVAudioPlayer播放mp3文件

时间:2011-01-05 05:15:52

标签: iphone mp3 avfoundation core-audio

我想播放放置在资源中的mp3文件,如下面的代码所示,

NSString *st=@"alarm_1.mp3";
NSLog(st);
NSURL* musicFile = [NSURL fileURLWithPath:st]; 

AVAudioPlayer *click = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];

//AVAudioPlayer *click1=[[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL URLWithString:@"alarm_1.mp3"]];

[click prepareToPlay];
[click play];
[click release];

但不幸的是我听不到声音 请帮忙

3 个答案:

答案 0 :(得分:6)

我不认为你的文件名是对的。试试这个语法:

    NSURL *clickURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/alarm_1.mp3", [[NSBundle mainBundle] resourcePath]]];  
    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc]initWithContentsOfURL:clickURL error:nil];

答案 1 :(得分:2)

由于ARC,我遇到了类似的问题。不是在使用它的同一方法中定义AVAudioPlayer,而应该在其他地方有一个实例变量,例如UIViewController。这样ARC就不会自动释放这个对象,音频可以播放。

答案 2 :(得分:1)

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/alarm_1.mp3", [[NSBundle mainBundle] resourcePath]]];

NSError *error;
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = -1;

[audioPlayer play]; 

这是答案