如何在iOS上列出可用的音频输出路径

时间:2012-09-04 13:36:39

标签: ios audio routes

现在我想在我的iPhone应用程序中列出可用的音频输出路径,如下所示:

http://www.blogcdn.com/www.tuaw.com/media/2008/09/cb(iphone-101_-switch-between-audio-outputs-for-your-voicemail)1729387198273.jpg

我知道我可以使用音频会话的audioRouteChangeListener获取路由更改信息,但此方法只能在我的应用启动后收到消息,所以如果耳机和蓝牙都在我的应用运行之前连接,我怎么能得到这些路线的消息,任何提示都表示赞赏。

感谢。

2 个答案:

答案 0 :(得分:1)

只有5个音频输入路线(iOS5 +):

kAudioSessionInputRoute_LineIn;
kAudioSessionInputRoute_BuiltInMic;
kAudioSessionInputRoute_HeadsetMic;
kAudioSessionInputRoute_BluetoothHFP;
kAudioSessionInputRoute_USBAudio;

并且有9条音频输出路线(iOS5 +):

kAudioSessionOutputRoute_LineOut;
kAudioSessionOutputRoute_Headphones;
kAudioSessionOutputRoute_BluetoothHFP;
kAudioSessionOutputRoute_BluetoothA2DP;
kAudioSessionOutputRoute_BuiltInReceiver;
kAudioSessionOutputRoute_BuiltInSpeaker;
kAudioSessionOutputRoute_USBAudio;
kAudioSessionOutputRoute_HDMI;
kAudioSessionOutputRoute_AirPlay;

find more information here 如何在应用中检查它们的可用性。

答案 1 :(得分:1)

我使用MPVolumeView工作了。此组件有一个按钮,可让您选择输出音频路径,如音乐应用程序。

如果您需要,可以使用以下方法隐藏滑块(并且只有按钮):

self.myMPVolumeView.showsVolumeSlider = NO;

目前我找不到以编程方式获取输出目的地和输入源的方法,正如我在这个问题中所指出的那样List available output audio target AVAudioSession