首页 文章

在iPhone上选择音频设备

提问于
浏览
7

有没有办法让用户选择他们用于音频输出的设备?

在文档中,我发现您可以通过将 kAudioSessionProperty_OverrideAudioRoute 设置为以下任一路径来选择:

  • kAudioSessionOverrideAudioRoute_None,或

  • kAudioSessionOverrideAudioRoute_Speaker

但是,我想让用户使用他们的蓝牙耳机听音频 .

如果您查看Apple自己的“语音备忘录”应用程序,在播放菜单中左上角有一个按钮,可让您选择要使用的音频设备 . 安装蓝牙耳机后,按下按钮会弹出一个菜单,可以在以下选项之间进行选择:

  • 蓝牙耳机

  • iPhone

  • 演讲者

有没有办法在我自己的应用程序中使用标准Apple API实现此功能?

3 回答

  • -1

    在3.1中,有两种协议支持向蓝牙设备输出音频,其使用取决于附件 . 第一个是A2DP,用于支持接收立体声音乐的存储,另一个是免提,适用于所有免提配件 . 要激活第一个选项,您需要使用具有音量滑块和音频设备选择按钮的MPVolumeView类,当此视图添加到应用程序中的任何视图时,它为用户提供了设置音量的方法如果连接则选择BT设备(这是我找到的唯一方法)另一方面,可以使用呼叫激活第二个选项

    UInt32 bt = TRUE;
     result = AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryEnableBluetoothInput , sizeof(UInt32), &bt);
    

    应用程序必须初始化音频会话并使用corect catagory(它必须支持重新编码才能工作) . 设置EnableBluetoothInput后,所有输入和输出音频将通过免提设备进行路由(如果连接,当然:))

  • 13

    最简单的方法是将MPVolume控件(link to documentation)添加到用户界面并设置showsVolumeSlider = NO和showsRouteButton = YES .

    用户将有一个路由按钮将音频路由到他们选择的设备 .

  • 1

相关问题