现在的位置: 首页 > 综合 > 正文

iPhone开发–AVAudionPlayer支持后台播放

2013年05月24日 ⁄ 综合 ⁄ 共 817字 ⁄ 字号 评论关闭

刚才遇到了个不大不小的问题,就是AVAudionPlayer如何在后台播放音频文件。网上查找方法,最后解决,方法整理如下:

1.需要加入AVaudionSession的代码,总体如下,各位可以抽减掉初始化的代码。

- (void)viewDidLoad
{
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"in-the-storm" ofType:@"mp3"]];

    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];

    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
    [[AVAudioSession sharedInstance] setActive: YES error: nil];
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];

    [audioPlayer play];

    [super viewDidLoad];
}

加入如上的代码后,把程序放到后台还是会自动消失声音,于是找到如下的第二步操作。

2.修改plist文件。

在plist文件中新增 Require background modes栏位,并填入内容为audio.

经过以上两步的操作,大功告成。

参考文献:

http://stackoverflow.com/questions/7619794/play-music-in-background-in-iphone-using-avaudioplayer

http://www.cocoachina.com/bbs/simple/?t41975.html

抱歉!评论已关闭.