在电话呼叫iOS sdk期间播放音乐文件时出现问题

在电话呼叫iOS sdk期间播放音乐文件时出现问题,ios,objective-c,audio,core-audio,avaudioplayer,Ios,Objective C,Audio,Core Audio,Avaudioplayer,我有两段代码: 代码1-通过入耳式扬声器播放音乐文件: NSString *tileDirectory = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"8Ocean.mp3"]; NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:tileDirectory]; NSError *error=nil; self.audioPlayer = [[AV

我有两段代码:

代码1-通过入耳式扬声器播放音乐文件:

NSString *tileDirectory = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"8Ocean.mp3"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:tileDirectory];
NSError *error=nil;
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&error];
if(!error)
{
    [self.audioPlayer prepareToPlay];
    UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord;
    AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
    [self.audioPlayer play];
}
else
{
    NSLog(@"%@",error.localizedDescription);
}
代码2-在通话过程中播放音乐文件(根据通话过程中的用户设置路由至入耳式或扬声器式电话)

我的问题是:

代码1和代码2独立运行良好。但是,在使用代码1之后,代码2将根本不起作用(除非关闭并重新启动应用程序)


我已经尝试了所有我能想到的方法,但无法找出问题的根源。

您的应用程序需要处理来自电话的音频会话中断,以便您的应用程序的音频处理不会中断。

请使用正确的格式安排您的代码,并请澄清您希望实现的目标为用户提供随时通过入耳式扬声器播放音乐的功能。即使在通话过程中,用户也可以通过入耳式扬声器播放音乐(如果用户决定在扬声器电话上进行通话,则音乐也将在扬声器电话上播放)。“hotpaw2:你能不能再详细说明一下,在电话通话过程中,造成这种情况的原因是什么?”。如果您在这里通过一些代码,这将是一个很大的帮助。非常感谢:)
NSString *tileDirectory = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"8Ocean.mp3"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:tileDirectory];
NSError *error=nil;
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&error];
if(!error)
{
    [self.audioPlayer prepareToPlay];
    self.audioPlayer.volume=10.0;
    UInt32 sessionCategory = kAudioSessionOverrideAudioRoute_Speaker;
    AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride);
    [self.audioPlayer play];
}
else
{
    NSLog(@"%@",error.localizedDescription);
}