0

我编写了一个应用程序来通过蓝牙连接到扬声器底座。该应用程序控制均衡器、低音/高音等。

与底座配对后,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 设备上。

有谁知道为什么音频会暂停,以及如何停止?

4

1 回答 1

0

我从来没有弄清楚为什么会生成 keyevent,但幸运的是我的应用程序能够捕捉到它。我创建了一个 onKeyDown 方法,并寻找 KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE。如果我在启动应用程序的前 5 秒内找到该代码,我会返回 true。

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

于 2013-04-05T03:44:23.277 回答