How to list available audio output route on iOS

天大地大妈咪最大 提交于 2019-12-01 03:30:31

问题


Now i'd like to list available audio output route in my iPhone app, something like this:

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

i know that i can use audioRouteChangeListener of audio session to get route change info, but this method only can get the message after my app launch, so if headset and bluetooth both are connected before my app run, how can i get these routes' messages, any tips are appreciated.

Thanks.


回答1:


I got something working using MPVolumeView . This component has a button that lets you choose the output audio route, like in the Music App.

If you want you can hide the slider (and have only the button) using:

self.myMPVolumeView.showsVolumeSlider = NO;

At the moment I cannot find a way to obtain the output destinations and input sources programmatically as I pointed out in this question List available output audio target AVAudioSession




回答2:


there are only 5 audio input routes (iOS5+):

kAudioSessionInputRoute_LineIn;
kAudioSessionInputRoute_BuiltInMic;
kAudioSessionInputRoute_HeadsetMic;
kAudioSessionInputRoute_BluetoothHFP;
kAudioSessionInputRoute_USBAudio;

and there are 9 audio output routes (iOS5+):

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

find more information here how you can check the availability of them in your application.



来源:https://stackoverflow.com/questions/12264697/how-to-list-available-audio-output-route-on-ios

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!