【问题标题】:how to interact with spotify's window app -change track etc如何与 spotify 的窗口应用程序交互 - 更改轨道等
【发布时间】:2025-12-30 13:20:22
【问题描述】:

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

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

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

谢谢,感谢任何反馈

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

【问题讨论】:

    标签: c# .net sdk spotify


    【解决方案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
    • 呃,我觉得自己好蠢。非常感谢您提供的信息!