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

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

这怎么可能? 我是否需要在我的App Delegate中重写一个方法?


将这一行放在application:didFinishLaunchingWithOptions: AppDelegate方法,或者在使用音频播放器之前。

 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];

根据文档, AVAudioSessionCategoryAmbient类别是

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

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

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

NSError *error;
BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:&error];
if (!success) {
     //Handle error
     NSLog(@"%@", [error localizedDescription]);
} else {
   // Yay! It worked!      
}

作为最后一句话,不要忘记将AVFoundation框架链接到您的项目并导入它。

#import <AVFoundation/AVFoundation.h>
链接地址: http://www.djcxy.com/p/57449.html

上一篇: iphone app allow background music to continue to play

下一篇: How to resume AVAudioPlayer after interrupted in background