我写了一个应用程序,通过蓝牙连接到扬声器基座。该应用程序控制EQ,低音/高音等。
一旦与基座配对,Android设备就会自动通过其内置的媒体播放器播放音乐,因为它将基座视为耳机。
然而,一旦我启动我的应用程序,音频暂停在大多数2。x设备。
在我打开设备的套接字后,我询问它的固件/硬件版本。在查看日志时,我看到这些命令被成功接收,然后显示如下:
04-04 07:23:16.566: E/BluetoothIntentReceiver(5616): onReceive() Action : android.intent.action.MEDIA_BUTTON
04-04 07:23:16.566: D/BluetoothIntentReceiver(5616): onReceive() KeyEvent : KeyEvent{action=0 code=85 repeat=0 meta=0 scancode=200 mFlags=8}
04-04 07:23:16.566: E/BluetoothIntentReceiver(5616): onReceive() Command : togglepause,mDown=false
04-04 07:23:16.632: E/BluetoothIntentReceiver(5616): onReceive() Action : android.intent.action.MEDIA_BUTTON
04-04 07:23:16.632: D/BluetoothIntentReceiver(5616): onReceive() KeyEvent : KeyEvent{action=1 code=85 repeat=0 meta=0 scancode=200 mFlags=8}
04-04 07:23:16.632: E/BluetoothIntentReceiver(5616): onReceive() Command : togglepause,mDown=true
这就是音乐暂停的原因。我不确定这些keyeevents是从哪里生成的,因为我甚至没有拿着设备。
正如我提到的,这似乎只发生在2。x设备。
有人知道为什么音频被暂停,我怎么能停止它吗?
我从来没有弄清楚为什么生成keyevent,但幸运的是我的应用程序能够捕获它。我创建了一个onKeyDown方法,并寻找KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE。如果我在启动应用程序的前5秒内发现该代码,我返回true。
这对我的情况有效,但没有找到根本原因。