有谁知道如何在通话过程中阻止 iphone 将扬声器输出静音?
我正在开发一个应用程序,我需要在有电话来电时通过电话扬声器播放音频..
希望有人能帮忙!
最佳答案
我知道有一个公认的答案,但我不认为它是完全正确的。一些导航应用程序(例如 Waze)能够在通话期间提供音频指示。
如果您使用 AVAudioPlayer
,您可以通过响应 audioPlayerBeginInterruption:
委托(delegate)来处理中断(即电话调用)(您可以阅读更多相关信息 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);
}
请记住,当出现中断时,您的应用可能会进入后台或暂停,这也会影响您播放声音(或运行任何其他代码)的能力。
关于ios 在通话期间向扬声器发送音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20706140/