有没有办法让用户选择他们用于音频输出的设备?
在文档中,我发现您可以通过将 kAudioSessionProperty_OverrideAudioRoute 设置为以下任一路径来选择:
但我想让用户使用蓝牙耳机听音频。
如果您查看Apple自己的“语音备忘录”应用程序,则在播放菜单中左上角有一个按钮,可让您选择要使用的音频设备。安装蓝牙耳机后,按下按钮会弹出一个菜单,可以在以下选项之间进行选择:
有没有办法在我自己的应用程序中使用标准Apple API实现此功能?
答案 0 :(得分:13)
在3.1中,有两种协议支持将音频输出到蓝牙设备,使用取决于附件。第一个是A2DP,用于支持接收立体声音乐的存储,另一个是免提,适用于所有免提配件。 要激活第一个选项,您需要使用具有音量滑块和音频设备选择按钮的MPVolumeView类,当此视图添加到应用程序中的任何视图时,它为用户提供了设置音量的方法并选择一个BT设备如果连接(这是我找到的唯一方法) 另一方面,可以使用呼叫
激活第二个选项 UInt32 bt = TRUE;
result = AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryEnableBluetoothInput , sizeof(UInt32), &bt);
应用程序必须初始化音频会话并使用corect catagory(它必须支持重新编码才能工作)。设置EnableBluetoothInput后,所有输入和输出音频将通过免提设备进行路由(如果连接,当然:))
答案 1 :(得分:1)
最简单的方法是将MPVolume控件(link to documentation)添加到用户界面,并设置showsVolumeSlider = NO和showsRouteButton = YES。
用户将有一个路由按钮,用于将音频路由到他们选择的设备。
答案 2 :(得分:-1)