一旦建立了音频会话,下面的代码就允许蓝牙输入。
UInt32 allowBluetoothInput = 1;
AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryEnableBluetoothInput, sizeof (allowBluetoothInput), &allowBluetoothInput);此代码看起来只允许蓝牙输入,但是此代码还将音频输出路由到蓝牙设备(在蓝牙耳机的情况下)。当输入来自蓝牙设备时,我想将音频输出路由到线路输出或扬声器之外。我只想从蓝牙设备获得音频输入,我不想通过蓝牙输出音频。
这种行为是可能的吗?
发布于 2011-12-01 15:01:44
从iOS 5开始,这种行为是不可能的,引用苹果的技术支持
蓝牙设备不是“插孔”设备,因此任何其他音频路由必须由用户选择,并且不能在代码中更改。为此,您可以使用MPVolumeView的功能,该功能将有一个额外的路由小部件可见,允许用户指定输出的路由。
Core Audio邮件列表上有一个关于此功能的旧线程,但行为并没有改变:
http://lists.apple.com/archives/coreaudio-api/2009/Oct/msg00030.html
MPVolumeView参考:
http://developer.apple.com/library/ios/#documentation/mediaplayer/reference/MPVolumeView_Class/Reference/Reference.html
但是,MPVolumeView不允许您单独路由输入和输出。
https://stackoverflow.com/questions/8305986
复制相似问题