有人知道如何在打电话时停止iphone静音扬声器输出吗?
我正在开发一款应用程序,我需要能够通过手机扬声器播放音频,同时还有一个电话...
希望有人可以提供帮助!
答案 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);
}
请注意,当您的应用中断时,可能会出现背景或暂停,这也会影响您播放声音的能力(或运行任何其他代码)。
答案 1 :(得分:0)
我不认为这是可能的,我希望不是,因为就个人而言,我不希望任何应用程序重拨我的电话或用恶作剧声音打断重要的电话。
我认为如果你从安全的角度考虑这个问题,这将是一个非常危险的事情。
答案 2 :(得分:0)
我不相信Apple允许其他音频在通话期间与音频混合。 Apple希望确保写得不好的应用程序不会干扰用户在手机上执行重要功能(例如拨打电话)的能力。所以你的应用程序基本上被迫遵守。