我正在开发Android媒体播放器应用程序(支持Android版本2.3 - 4.1)。我想检测音频路径转换,如扬声器到有线耳机或有线耳机到BT等。我需要在我的应用程序中对这些转换采取一些操作。那么在切换音频路径时Android是否提供任何单一方式(最好是广播接收器)?如果可能,我想避免单独检测有线耳机和BT耳机连接/断开。
我仍在适应Android并希望在这里提供一些帮助。
提前致谢。
答案 0 :(得分:0)
在Jellybean上,稍后您可以使用MediaRouter课程获得所需信息。
MediaRouter类有一个名为getSystemAudioRoute()
的隐藏方法,它返回一个RouteInfo对象。您应该能够通过在MediaRouter类上使用反射来掌握该方法
一旦你有了RouteInfo,就可以在其上调用getName()
,它应该将当前音频路由的名称作为CharSequence返回。
请记住,这只是对音频路由的强烈暗示,因为由音频HAL决定应该路由它们的每种流类型。
在Jellybean之前的Android版本上,您可以收听相关意图的广播(ACTION_HEADSET_PLUG
,ACTION_HDMI_AUDIO_PLUG
等)。