我有一个小项目,为控制台窗口制作音频播放器。一切都很顺利,但我在一个小细节上遇到了困难。我希望当用户按下某个键(例如空格)时暂停音频,我已经实现了这一点。问题是:即使播放器没有聚焦,音频也会暂停。
举个例子,我在播放器上放了一些音乐,然后打开网络浏览器。如果在浏览器中导航时按下空格键,音频将停止。
我希望程序仅在应用程序聚焦时才监听。这是我的代码的一部分:
def play_pause():
global buttons
if '⏸' in buttons:
buttons = (' ' * 21) + '⏮ ⯈ ⏭'
else:
buttons = (' ' * 21) + '⏮ ⏸ ⏭'
audio.play_pause_audio()
def controller(key):
if key == Key.space or key == Key.media_play_pause:
play_pause()
# TO DO:
# if key == Key.left or key == Key.media_previous:
# pass
# if key == Key.right or key == Key.media_next:
# pass
draw_player()
def start_player(audio_name):
global current_audio
current_audio = audio_name
draw_player()
with Listener(on_press=controller) as listener:
listener.join()
我目前正在使用 pynput:
from pynput.keyboard import Key, Listener
。
你找到解决办法了吗?