Spotify中下一首歌的热键

29

在2015年3月Spotify升级后,下面的热键不再适用于获取Spotify中的下一首歌曲:

; Spotify next track
<^>!p::
DetectHiddenWindows, On 
ControlSend, ahk_parent, ^{Right}, ahk_class SpotifyMainWindow
DetectHiddenWindows, Off 
Return 

在使用spy检查时,“SpotifyMainWindow”似乎与旧版本相同,并且在Spotify中Ctrl-Right仍然可以用于下一首歌曲,但是热键不能用了。

如何在更新后的Spotify上设置下一首歌曲的热键?


自从更新后我也遇到了同样的问题。你确定SpotifyMainWindow仍然正确吗? - Tony Trozzo
1
这是一个严重的问题。在最新的更新中,Spotify在非前台时阻止所有发送的输入。发送 {space} 也是如此。我无法通过send/postmsg解决它:sendmessage, 256, 32, 3735553,Chrome_RenderWidgetHostHWND1, ahk_class SpotifyMainWindow,sendmessage, 257, 32, 3735553,Chrome_RenderWidgetHostHWND1, ahk_class SpotifyMainWindow 这成功地发送了 {space} 并在之后释放它。但是,它仅在Spotify处于活动状态时才起作用。这很糟糕,因为postMessage通常是解决此类问题的最后一道防线。希望这能帮助找到解决方案。 - phil294
3
我是Spotify的开发人员。我们知道在新客户端中存在一些回归问题,特别是涉及远程控制方面的问题。我将向我的同事询问这个问题,也请您确认这个问题是否出现在Windows系统上。 - Nik Reiman
2
@EquipDev 我们已经调查并解决了这个问题!(结果发现它是一个简单的修复)。它将在桌面客户端的下一个更新中发布。 - Nik Reiman
1
刚刚下载了版本1.0.2.6.g9977a14b的更新,但我的热键仍然无法使用。请修复一下 :) - Martin
显示剩余8条评论
5个回答

50

我使用多媒体按键代码成功让它工作了。这是我的脚本:

; "CTRL + LEFT"  for previous 
^Left::Media_Prev


; "CTRL + RIGHT"  for next 
^Right::Media_Next


; "CTRL + SPACE"  for pause
^Space::Media_Play_Pause

现在它的工作非常好。


太好了,这解决了问题,并且是通用的解决方案。这比找到Spotify窗口并向其发送按键要好,现在很好的Spotify开发人员已经将Spotify连接到通用媒体键中。 - EquipDev
就我所知,这对我似乎不起作用。我尝试了^{Right::Media_Next}^Right::Media_Next两种方式。 - Martin
我在这两行代码之前只有以下两行:DetectHiddenWindows, On SetTitleMatchMode 2也许这些对你有用... - Manuel Ruiz de Quintanilla
如果有人知道如何在更新后获取音轨信息,请在这里回答我的问题https://dev59.com/lYrda4cB1Zd3GeqPHQwU。 - otterb
有没有办法隐藏弹出的工具提示?(Windows 10) - user2171842
这与 Windows 10 上用于切换桌面的默认快捷键 "CTRL + WIN + <箭头>" 冲突,但经过调整后效果非常好。 - airdas

8

针对Windows 8用户,我修改了之前的脚本,并为您提供适用于该操作系统的脚本!可以切换到上一首歌曲、暂停/播放和下一首歌曲。

; "CTRL + LEFT"  for previous 
^Left::Send {Media_Prev}


; "CTRL + RIGHT"  for next 
^Right::Send {Media_Next}


; "CTRL + SPACE"  for pause
^Space::Media_Play_Pause

这是与上面相同的解决方案。 - phil294

4

暂时的解决方法是将Spotify窗口置于前台,发送一个空格,然后再最小化它。

您可能希望根据自己的喜好停止最小化。

重新编辑 - 我已经让跳过曲目的功能也正常运行了,这有点儿不正规,如果您启用了UAC(根据文档),它可能无法正常工作,因人而异。但对我来说有效。

ScrollLock::
{
 DetectHiddenWindows, On
 WinActivate, ahk_class  SpotifyMainWindow
 SendInput, , ^{Right}, ahk_class SpotifyMainWindow
 Sleep, 100
 ControlSend, , {Space}, ahk_class  SpotifyMainWindow
 DetectHiddenWindows, Off
 WinMinimize, ahk_class  SpotifyMainWindow
 return
}


PrintScreen::
{
 DetectHiddenWindows, On
 WinActivate, ahk_class  SpotifyMainWindow
 SendInput, , ^{Left}, ahk_class SpotifyMainWindow
 Sleep, 100
 ControlSend, , {Space}, ahk_class  SpotifyMainWindow
 DetectHiddenWindows, Off
 WinMinimize, ahk_class  SpotifyMainWindow
 return
}

Pause::
{
 DetectHiddenWindows, On
 WinActivate, ahk_class  SpotifyMainWindow
 ControlSend, , {Space}, ahk_class  SpotifyMainWindow
 DetectHiddenWindows, Off
 WinMinimize, ahk_class  SpotifyMainWindow
 return
}

谢谢,这可能是朝着正确方向迈出的一步,但正如你所指出的那样,跳过(skip)不起作用。我能够让跳过在10次尝试中的1次工作。 - EquipDev
感谢您的额外更新,使得这次的黑客攻击起作用了。不过,基于@NikReiman提供的Spotify通用更新答案,一旦我确认其有效,我会接受该答案。但是在此期间,我很感激您的解决方法。 - EquipDev

2
我看到这个在工作,但不是我想要的键。
^Space::Media_Play_Pause

然后决定看看这是否有效

Numpad4::^Media_Prev
Numpad5::^Media_Next
Numpad6::^Media_Play_Pause

它确实起作用了!耶。我猜这对你想要的任何按键都有效,而不仅仅是空格键。


2

我刚刚在最新版本的Spotify和Windows 10上进行了测试。

; "CTRL + ALT + UP" for volume up
$^!Up::Volume_Up

; "CTRL + ALT + DOWN" for volume down
$^!Down::Volume_Down

; "CTRL + ALT + LEFT" for previous 
^!Left::Media_Prev

; "CTRL + ALT + RIGHT" for next 
^!Right::Media_Next

; "CTRL + ALT + SPACE" for pause
^!Space::Media_Play_Pause

1
这是与上面相同的解决方案。(什么鬼?) - phil294
你说得有道理,但我包含了三个相同的功能(上一个、下一个、暂停),并采用不同的方式实现这些功能(添加 alt 键)。我认为这有助于减少键盘快捷键冲突的数量(例如,当我使用 Visual Studio 或 Sublime Text 时)。我还添加了两个额外的功能,如音量增加和减少,这可能对某些人很重要。 - Frank Fu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接