打开蓝牙耳机插孔后音频会暂停(Android 2.x)

问题描述:

我已经编写了一个应用程序,通过蓝牙连接到扬声器基座。该应用程序控制EQ,低音/高音等打开蓝牙耳机插孔后音频会暂停(Android 2.x)

一旦与坞配对时,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 

这就是暂停音乐的原因。我不确定这些KeyEvent是从哪里生成的,因为我甚至没有拿着这个设备。

正如我所提到的,这似乎只发生在2.x设备上。

有没有人知道为什么音频暂停,以及如何阻止它?

+0

'code = 85'应该是'KEYCODE_MEDIA_PLAY_PAUSE'。在您看到日志中的意图之前,您的应用会做什么? – Michael 2013-04-04 12:44:25

+0

@迈克尔 - 没有什么是真的。我正在向码头发送/接收数据。但是我没有任何应用程序中的代码来生成按键。 – Innova 2013-04-04 13:32:28

我从来没有想过为什么keyevent得到生成,但幸运的是我的应用程序能够抓住它。我创建了一个onKeyDown方法,并查找KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE。如果我在启动我的应用程序的前5秒内找到该代码,则返回true。

这适用于我的情况,但没有找到根本原因。