2013-12-20 132 views

回答

0

我不相信苹果允许其他音频在通话期间与音频混合。苹果希望确保写得不好的应用程序不会干扰用户在手机上执行重要功能(例如打电话)的能力。所以你的应用程序基本上被迫遵守。

+0

它*是*可能的,因为我目前有这个问题,我们有一个错误报告:即使在通话期间,应用程序的音频也可以从耳塞扬声器听到。我还没有研究过这个问题。 – Jonny

0

我不认为这是可能的,我希望它不是,因为我个人不希望任何应用程序重新编码我的电话或打断恶作剧的重要电话。

我也认为,如果从安全的角度考虑,这将是一个非常冒险的事情。

2

我知道有一个公认的答案,但我不认为这是完全正确的。某些导航应用程序(例如Waze)可以在通话期间提供音频指示。 如果您使用AVAudioPlayer,您可以通过响应audioPlayerBeginInterruption:代表处理中断(即电话呼叫)(您可以阅读更多关于here的信息)。

虽然我没有太多的时间来考虑它,我还是设法打短的声音文件,而发起电话或通过使用下面的代码播放歌曲:

-(void)audioPlayerBeginInterruption:(AVAudioPlayer *)player 
{ 
    NSString *path = [[NSBundle mainBundle] pathForResource:@"mySound" ofType:@"mp3"]; 
    SystemSoundID soundFileObject; 
    NSURL *pathURL = [NSURL fileURLWithPath : path]; 
    CFURLRef soundFileURLRef = (CFURLRef)CFBridgingRetain(pathURL); 
    AudioServicesCreateSystemSoundID(soundFileURLRef, &soundFileObject); 
    AudioServicesPlaySystemSound(soundFileObject); 
} 

请请注意,当中断发生时,您的应用程序可能会后台中断或暂停,这也会影响您播放声音的能力(或针对此问题运行其他任何代码)。

相关问题