2011-09-27 54 views
4

我已经与蓝牙耳机配对。在播放音频时,KeyEvent.KEYCODE_MEDIA_NEXTKeyEvent.KEYCODE_MEDIA_PREVIOUS在我的BroadcastReceiver中收到。当音频不播放时,我的接收器不会为这些关键事件调用。除非正在播放音频,否则不会收到KeyEvent.KEYCODE_MEDIA_NEXT

在这个相同的状态下,当音频没有播放时,这个相同的接收器被要求播放/暂停,KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE,所以我知道这不是我的接收器没有被注册的问题。

一旦音频开始播放,我可以通过日志看到音频未播放时,所有KeyEvent.KEYCODE_MEDIA_NEXT事件都排队等待,并在音频开始后重新传送。每个这些事件都随KeyEvent.ACTION_DOWN一起提供。

这是正常的行为吗?蓝牙下一个和上一个按钮仅在播放音频时才起作用?

+0

我没有具体的使用经验。但是,如果系统仅在播放媒体时从蓝牙设备触发事件,我不会感到震惊。你有没有在onKey()中吐出数据的Log语句?也许当媒体不播放它有一个不同的KEYCODE值。 – FoamyGuy

+0

不,当音频未播放时,我收不到广播。我刚刚也证实,当音频不播放时,播放或停止命令都没有收到。 – skyler

回答

0

我遇到了一对耳机的相同问题。但是当我尝试另一副耳机时,我的BroadcastReceiver收到KEYCODE_MEDIA_PREVIOUS和KEYCODE_MEDIA_NEXT,当音频没有播放时。 所以这个问题似乎取决于您使用的耳机。