Ios 模拟免提通话,使用AVAudioPlayer播放音频文件

Ios 模拟免提通话,使用AVAudioPlayer播放音频文件,ios,objective-c,xcode,Ios,Objective C,Xcode,许多老式汽车没有选择播放来自外部蓝牙设备(A2DP)的音乐,它们只能处理电话呼叫(免提)。但一些导航应用程序能够模拟电话播放声音。这样,只要导航应用程序播放声音,收音机/CD播放器就会中断。 有人知道如何使用AVAudioPlayer实现这一点吗?还是另一种方法?我找不到任何相关的信息 到目前为止我就是这么想的,但我想我完全错了 NSUInteger optionsFlag = (AVAudioSessionCategoryOptionAllowBluetooth | AVAudioSessio

许多老式汽车没有选择播放来自外部蓝牙设备(A2DP)的音乐,它们只能处理电话呼叫(免提)。但一些导航应用程序能够模拟电话播放声音。这样,只要导航应用程序播放声音,收音机/CD播放器就会中断。 有人知道如何使用AVAudioPlayer实现这一点吗?还是另一种方法?我找不到任何相关的信息

到目前为止我就是这么想的,但我想我完全错了

NSUInteger optionsFlag = (AVAudioSessionCategoryOptionAllowBluetooth | AVAudioSessionCategoryOptionMixWithOthers | AVAudioSessionCategoryOptionDuckOthers);

[[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayback withOptions:optionsFlag error: nil];

NSURL *soundFileURL = @"/path/to/soundfile.wav";      
player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
[player play];

您已经添加了一个AudioSessionCategoryOptionMixwithOthers,这实际上意味着不做您要求的事情。如果你想让它暂停,你要求它混音有什么原因吗?@RobNapier我已经试过了,但没有使用AudioSessionCategoryOptionMix与其他人混音,但它对我的汽车音响系统没有影响。我应该提到我的汽车音响系统没有“蓝牙辅助”选项来播放来自任何来源的音频。蓝牙连接仅适用于免提电话。当导航应用程序播放声音时,汽车显示屏显示“电话呼叫激活”。所以一定有一些把戏可以玩,听起来像是电话。当你说没有AudioSessionCategoryOptionMixwithOthers时,你是否也删除了…DuckOthers?回避意味着混合。只需使用AudioSessionCategoryOptionalLowBluetooth。