2

设置音频会话后,以下代码允许蓝牙输入。

UInt32 allowBluetoothInput = 1;
AudioSessionSetProperty (kAudioSessionProperty_OverrideCategoryEnableBluetoothInput, sizeof (allowBluetoothInput), &allowBluetoothInput);

此代码看起来只允许蓝牙输入,但此代码还将音频输出路由到蓝牙设备(在蓝牙耳机的情况下)。当输入来自蓝牙设备时,我想将音频输出路由到线路输出或扬声器之外。我只想从蓝牙设备获取音频输入,我不想通过蓝牙输出音频。

这种行为可能吗?

4

1 回答 1

2

从 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 不允许您独立地路由输入和输出。

于 2011-12-01T07:01:44.197 回答