使用AVAudioPlayer在后台播放音频iOS 9
问题描述:
音频不在后台使用AVAudioPlayer iOS 9在前台播放时播放。使用AVAudioPlayer在后台播放音频iOS 9
我已经设置所需的背景模式“应用程序播放音频或数据流通过AirPlay的音频/视频”中的Info.plist
我还检查音频,背景能力
取使用的代码:
@property (nonatomic, strong) AVAudioPlayer *ringtonePlayer;
NSString *ringtonePath = [[NSBundle mainBundle] pathForResource:@"incoming" ofType:@"wav"];
if ([ringtonePath length] <= 0) {
NSLog(@"Can't find incoming sound file");
return;
}
self.ringtonePlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:ringtonePath] error:nil];
self.ringtonePlayer.delegate = self;
self.ringtonePlayer.numberOfLoops = -1;
NSError *error = nil;
if (![[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
error:&error]) {
NSLog(@"Unable to reroute audio: %@", [error localizedDescription]);
} else {
[[AVAudioSession sharedInstance] setActive:YES error:&error];
}
self.ringtonePlayer.volume = 1.0f;
[self.ringtonePlayer play];
请帮助,提前致谢。
答
我使用下面的代码在后台打开,并且不需要修改info.plist文件。
func setupPlayBackground(){
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
} catch let error {
print(error.localizedDescription)
}
}