我可以从kAudioSessionProperty_AudioRoute属性返回哪种路线?
苹果家伙,他想成为滑稽,并在文档中写道:我可以从kAudioSessionProperty_AudioRoute属性返回哪种路线?
("Headphone," "Speaker," etc.)
在现实中是什么样的返回值都是可能的?
他并不好笑,那些都是实际值。我见过他没有勾勒出只有一个“线”
根据http://lists.apple.com/archives/coreaudio-api/2009/Jan/msg00084.html 也有线路输出,HeadsetInOut,ReceiverAndMicrophone,HeadphonesAndMicrophone, 但谁询问是否有更多的价值没有得到答复的家伙。
我跑 '串' 的CoreMedia框架(iOS4.2的SDK),并以下字符串似乎是合理的组合在一起:
- ReceiverAndMicrophone
- HeadsetInOut
- HeadphonesAndMicrophone
- SpeakerAndMicrophone
- HeadsetBT
- LineInOut
- 默认
命令:
strings -a -o CoreMedia | less
# CoreMedia is from /Developer/Platforms/iPhoneOS.platform/Developer \
# /SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/CoreMedia.framework
我刚从它MicrophoneWired。 (我实际上插入了一块特殊的硬件,它是一个温度探头,但我们通过耳机插孔使用它)。
然后,我得到了MicrophoneBuiltIn没有插入任何东西。这是一个4.3的iPod的触摸方式。
当我使用kAudioSessionCategory_RecordAudio作为我的音频类别时,我得到了相同的(MicrophoneWired/MicrophoneBuiltIn),并且我插入并拔下了耳机(带有内置麦克风的耳机)。 – 2012-08-09 16:18:30
上面l8nite提供的值是为音频会话配置为输入和输出时保留的。使用其他值,当你只是在做音频输出:(!我用同样的伎俩l8nite - 感谢)
线路输出
HeadphonesBT(用于蓝牙音频输出 - 观察到了这种通过蓝牙迷上了一个汽车音响系统)
AirTunes功能(用于AirPlay的输出)
是如何从HeadphonesBT不同HeadsetBT?我的应用程序可以成功使用HeadsetBT设备发送和接收音频,而HeadphonesBT无法执行任何操作。这是在iOs6
有趣的部分是等,所以你必须猜测可能会返回其他字符串。 – dontWatchMyProfile 2010-05-25 22:50:14
更有意思的是,在iOS 3.1.2上的值发生了变化,现在我们有:“SpeakerAndMicrophone”等等......不错的兼容性伙计。 – 2010-08-26 01:57:51