打电话(iOS)?
我正在使用AVAudioPlayer播放音乐(支持背景)。 我的问题是,如果我想在我听音乐时打电话给某个人,在通话后如何恢复它? 我已经实现了AVAudioPlayer的委托方法:
- (void)audioPlayerEndInterruption:(AVAudioPlayer *)thePlayer {
[[AVAudioSession sharedInstance] setActive:YES error:nil];
[self.player play];
}
但是这不会让音乐继续。
我也尝试使用AVAudioSessionDelegate方法(只是一个尝试):
- (void)viewDidLoad {
[[AVAudioSession sharedInstance] setDelegate:self];
}
- (void)endInterruption
{
[[AVAudioSession sharedInstance] setActive:YES error:nil];
[self.player play];
}
但是这又不会导致音乐恢复。 关于如何解决这个问题的任何想法?
你的代码奇怪,你告诉你使用AVAudioPlayer,为什么然后实现AVAudioSessionDelegate?
而且你有不好的委托方法的实现。 请参阅文档
来自AVAudioPlayerDelegate:
- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player
- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player withFlags:(NSUInteger)flags
所以尝试像这样实现它们,它应该正常工作
在iOS上,应用程序无法在背景中播放音频。 如果您的应用程序的音频因为前台应用程序控制了音频会话而停止,则(当前)无法将其恢复。
你可以恢复它。 完成音频会话后,您必须通知其他应用程序,我的应用程序停用音频会话,然后才能使用它。 使用下面的代码。
[[AVAudioSession sharedInstance] setActive:NO withFlags:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:&error];
链接地址: http://www.djcxy.com/p/9865.html