iPhone应用程序允许继续播放背景音乐

时间:2013-01-02 12:49:54

标签: iphone objective-c ios

当我在声音播放时启动我的iPhone游戏时,播放的背景音乐或播客停止播放。我注意到其他游戏允许继续播放背景音频。

这怎么可能?我是否需要覆盖App Delegate中的方法?

1 个答案:

答案 0 :(得分:58)

在使用音频播放器之前,将此行放在application:didFinishLaunchingWithOptions:的{​​{1}}方法中或一般情况下。

AppDelegate

根据文档, [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; 类别是

  

对于声音播放非主要的应用 - 也就是说,您的应用可以在声音关闭时成功使用。

     

此类别也适用于“播放”风格的应用,例如用户在iPod音频上播放的虚拟钢琴。 当您使用此类别时,来自其他应用程序的音频会与您的音频混合。您的音频会被屏幕锁定和静音开关(在iPhone上称为响铃/静音开关)静音。

如果您还想确保没有发生错误,您必须检查返回值

AVAudioSessionCategoryAmbient

最后一点,不要忘记将NSError *error; BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error]; if (!success) { //Handle error NSLog(@"%@", [error localizedDescription]); } else { // Yay! It worked! } 框架链接到您的项目并导入它。

AVFoundation