如何与 spotify 的窗口应用程序交互 - 更改轨道等

Posted

技术标签:

【中文标题】如何与 spotify 的窗口应用程序交互 - 更改轨道等【英文标题】:how to interact with spotify's window app -change track etc 【发布时间】:2015-10-22 08:31:58 【问题描述】:

下班后我正在做一个新的爱好项目,其中包括制作我自己的自定义 C# 音乐播放器,它可以从不同的位置播放和交互,例如 youtube、spotify 和 Windows Media Player

我已经对此进行了一些谷歌搜索,并在 spotify 的网络播放器上发现了一堆,但不适用于 spotify 自己的 windows 应用程序。

我已经完成了大部分 UI,但在与其他应用交互时遇到了障碍。我喜欢一些关于如何与 spotify 等交互(更改轨道等)的建议,因为我从来没有做过一个与另一个应用程序交互的应用程序,因为我主要做 MVC 的东西。

谢谢,感谢任何反馈

(如果有人问过这个问题,PS 很抱歉,但显然谷歌不想给我看哈)

【问题讨论】:

【参考方案1】:

您可以通过向 Spotify 窗口(至少在 Windows 上)发送消息来与之交互。 AFAIK 这只允许您发送命令,但不会收到任何信息作为回报。

您可以向 Spotify 窗口发送 ID 为 0x0319、wparam 为 0、lparam 为特定操作的消息:SendMessage(spotify_hWnd, 0x0319, 0, cmd_id)

下面列出了操作的 ID。

    CMD_NONE        = 0
    CMD_PLAYPAUSE   = 917504
    CMD_MUTE        = 524288
    CMD_VOLUMEDOWN  = 589824
    CMD_VOLUMEUP    = 655360
    CMD_STOP        = 851968
    CMD_PREVIOUS    = 786432
    CMD_NEXT        = 720896

我知道的唯一例子是 pytify (https://code.google.com/p/pytify/),我最近成功使用了它。它可能需要进行一些调整(上述某些值可能不是 100% 正确) - 当我回到那台计算机上时,我会调查我所做的事情。

【讨论】:

请问您是从哪里获得 ID 0x0319 的? @IneedHelp 请参阅 MS 开发人员文档:docs.microsoft.com/en-us/windows/desktop/inputdev/wm-appcommand 谢谢,但很遗憾,我仍然看不到您从哪里获得特定的 0x0319 ID,该页面上没有。 @IneedHelp 没错,就在页面顶部:#define WM_APPCOMMAND 0x0319 呃,我觉得自己好蠢。非常感谢您提供的信息!

以上是关于如何与 spotify 的窗口应用程序交互 - 更改轨道等的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Youtube 视频与通过 Spotify 播放的歌曲匹配

React-Native Spotify SDK iOS:关闭身份验证窗口

关闭时从另一个应用程序打开 Spotify 主窗口

通过 spotify web api 和 javascript 播放歌曲的问题

Qt Quick - 如何仅通过 c++ 代码与 qml 属性交互

如何在处理中编写Spotify API?