苹果人试图搞笑并在文档中写道:
("Headphone," "Speaker," etc.)
现实中可能有什么样的返回值?
我在 CoreMedia 框架(iOS4.2 SDK)上运行了“字符串”,以下字符串看起来很合理,并被组合在一起:
命令是:
strings -a -o CoreMedia | less
# CoreMedia is from /Developer/Platforms/iPhoneOS.platform/Developer \
# /SDKs/iPhoneOS4.2.sdk/System/Library/Frameworks/CoreMedia.framework
他不是在开玩笑,这些都是实际值。我见过的唯一一个他没有概述的是“LineOut”
根据http://lists.apple.com/archives/coreaudio-api/2009/Jan/msg00084.html 也有 LineOut、HeadsetInOut、ReceiverAndMicrophone、HeadphonesAndMicrophone,但询问是否有更多值的人没有得到答复。
我刚刚从它那里得到了 MicrophoneWired。(实际上,我插入了一个特殊的硬件,即温度探头,但我们通过耳机插孔使用它)。
然后我得到了没有插入任何东西的 MicrophoneBuiltIn。顺便说一下,这是在 4.3 的 ipod touch 上。
上面 l8nite 提供的值是为您的音频会话配置为输入和输出时保留的。当您只输出音频时使用的其他值:(我使用了与 l8nite 相同的技巧 - 谢谢!)
线路输出
HeadphonesBT(用于蓝牙音频输出 - 观察到这通过蓝牙连接到汽车音响系统)
AirTunes(用于 AirPlay 输出)
HeadphonesBT 与 HeadsetBT 有何不同?我的应用程序可以成功地使用 HeadsetBT 设备发送和接收音频,而 HeadphonesBT 没有做任何事情。这是在 iOS6 上