我想要检测我的Android手机当前输出音频的方式。
我一直在测试:
android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED
当当前的音频设备是蓝牙耳机时,它提供的信息,当它不是,这是解决方案的一部分。
然而,当音频被路由到扬声器而不是接收器和有线耳机时,我似乎无法捕获。
理想情况下,我会收听一个广播,只要音频路线发生变化就会触发,例如在通话过程中切换时。
答案 0 :(得分:0)
当声音从耳机切换到扬声器时会发出AUDIO_BECOMING_NOISY
意图(参见http://developer.android.com/guide/topics/media/mediaplayer.html#noisyintent)。
还有一种检测相反开关的方法,请参阅How to detect when a user plugs headset on android device? (Opposite of ACTION_AUDIO_BECOMING_NOISY)