2013-04-29 83 views
3

我正试图在Objective-C中实现一个功能,其中用例需要用户说出免提蓝牙耳机,将他们的声音与音频文件混合并通过耳机插孔播放。Objective-c从蓝牙HFP重新路由音频输入以混合音频输出耳机插孔

我有程序工作,并将允许通过HFB或使用有线麦克风混合麦克风和音频。但是音频总是和麦克风源一样播放。我无法找到一种方法来覆盖只有音频输出到耳机插孔。

我用下面的代码,这是我的文档重写输出到扬声器中发现,但我不能找到一个迫使音频到耳机插孔:

[[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:nil]; 

与上述线的另一问题代码是它覆盖输入和输出到内置扬声器和内置麦克风。

回到我的使用案例 - 我需要使用免提蓝牙来通过耳机插孔输出音频。任何想法如何实现?

回答

2

我有一个非常相似的用例,但在搜索Apple文档并直接与Apple交谈之后,目前无法独立设置输入和输出数据源/端口。

每苹果的文档:

https://developer.apple.com/library/ios/qa/qa1799/_index.html

如果应用程序使用setPreferredInput:错误:方法来选择蓝牙HFP输入,输出将自动切换到蓝牙HFP输出。此外,使用MPVolumeView的路由选择器选择蓝牙HFP输出将自动将输入更改为蓝牙HFP输入。因此即使只有输入或输出单独设置,输入和输出也始终会在蓝牙HFP设备上结束。

向Apple提交错误报告。如果有足够的投诉,他们可能会改变它。