Windows中的蓝牙AVRCP命令触发了哪些事件

Ada*_*ile 21 c# windows bluetooth avrcp

只是做一些高级侦察,所以在这里说...对于我的Pandora客户端,Elpis,我支持全局媒体键(键盘上的MediaPlayPause,MediaNext等),我希望能够支持蓝牙耳机AVRCP.我现在没有(虽然很快会尝试一些).

我的主要问题是,Windows中AVRCP命令触发了什么事件(键盘或其他)? 它取决于BT适配器和/或驱动程序堆栈吗?我很乐意,如果他们只是暴露在上面提到的相同的媒体密钥,但我找不到任何官方的MS文件确认或否认...但从我可以告诉,WMP支持它,但其他一些媒体播放器不(虽然它们支持标准媒体键),这让我相信它是不同的事件.

任何见解将不胜感激.

Sco*_*ger 7

Windows上没有可用于蓝牙的一组公开事件.Btd.dll包含此功能,并使用PassThruOpId枚举进行播放,停止,暂停,FF和RW.单击此处获取MSDN条目.

更新根据下面的评论,我无法找到除此框架之外的任何文档.

更新:这是Windows蓝牙驱动程序堆栈的链接.还要查看其他堆栈问题.

  • @AdamHaile我在Windows 10上使用内置的英特尔蓝牙,虽然播放/暂停适用于WMP,但它在其他应用程序中不起作用.我使用Python`keyboard`模块检查HID事件和next/prev track工作(分别为2次按下,3次按下),但播放/暂停不会触发键盘事件.奇怪......我想写一个小应用程序来检测播放/暂停,无论AVRCP如何暴露事件并重放媒体原型HID事件. (3认同)
  • 实际上,我只是尝试关闭Chrome并再次测试触发的关键事件.这次没有创建.很明显,应用程序可以检测AVRCP事件,并可能将它们作为键盘事件重新发送,以使其自己的后续逻辑流程工作.但无论出于何种原因,Chrome都无法检测到播放/暂停.Chrome打开后,WMP会暂停,但不会播放.Chrome关闭并且WMP打开,播放和暂停工作,但在任何情况下它都不会触发键盘事件,它"只是这样做"... (2认同)