当我的应用程序在后台时,如何确保在使用AV Foundation时我的媒体将继续播放?

时间:2015-11-20 01:11:32

标签: ios iphone

iOS 9.0

我似乎无法运行,查看文档,标题,这一切似乎都很好,但显然缺少某些内容。

1)info.plist的UIBackgorundModes是一个包含一个项目“audio”的数组。

2)使用AVfoundations AVAudioPlayer。

3)将会话类别设置为AVAudioSessionCatergoryPlayback

4)将会话模式明确设置为AVAudioSessionModeDefault(参见Bamsworld的回答)

5)实现遥控并立即播放信息。

6)使用通知

但音频在后台保持暂停状态。 我错过了什么?

这是会议

- (void)setupAudioSession{

    AVAudioSession *audioSession = [AVAudioSession sharedInstance];

    //Sugested by Bamsworld
    NSError *setModeError = nil;
    [audioSession setMode:AVAudioSessionModeDefault error:&setModeError];
    if (setModeError) NSLog(@"mlAlbum: Error setting mode! %ld", (long)setModeError.code);

    NSError *setCategoryError = nil;
    [audioSession setCategory: AVAudioSessionCategoryPlayback error: &setCategoryError];
    if (setCategoryError) NSLog(@"mlAlbum: Error setting category! %ld", (long)setCategoryError.code);

    NSError *activationError = nil;
    [audioSession setActive:YES error:&activationError];
    if (activationError) NSLog(@"mlAlbum: Audio session activation error.\n %ld", (long)activationError.code) ;

}

每次游戏都会调用。

1 个答案:

答案 0 :(得分:1)

在另一篇文章中回答:How to handle background audio playing while iOS device is locked or on another application?

在Xcode项目的功能选项卡下,需要打开背景模式。

Capabilities tab