0

我正在开发一个 Android 媒体播放器应用程序(支持 Android 版本 2.3 - 4.1)。我想检测音频路径转换,例如扬声器到有线耳机或有线耳机到 BT 等。我需要在我的应用程序中对这些转换采取一些措施。那么Android在切换音频路径时是否提供了任何单一方式(最好是广播接收器)?如果可能的话,我想避免分别检测有线耳机和 BT 耳机连接/断开连接。

我仍在适应 Android 并希望在这里得到一些帮助。

提前致谢。

4

1 回答 1

0

在 Jellybean 和更高版本上,您可能能够通过使用MediaRouter类获得所需的信息。

MediaRouter 类有一个名为的隐藏方法getSystemAudioRoute(),该方法返回一个RouteInfo对象。您应该能够通过对 MediaRouter 类使用反射来掌握该方法。
获得 RouteInfo 后,您可以调用getName()它,它应该将当前音频路由的名称作为 CharSequence 返回。
请记住,这只是对音频路由位置的强烈提示,因为由音频 HAL 决定应将它们路由到的每种流类型。

在 Jellybean 之前的 Android 版本上,您可以收听相关意图的广播(ACTION_HEADSET_PLUGACTION_HDMI_AUDIO_PLUG等)。

于 2012-12-13T13:53:40.223 回答