微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python:仅当应用程序处于焦点时才侦听键

如何解决Python:仅当应用程序处于焦点时才侦听键

我有一个关于为控制台窗口制作音频播放器的小项目。一切都很顺利,但我正在为一个小细节而苦苦挣扎。我希望当用户按下某个键(例如空格)时暂停音频,而我已经实现了这一点。问题是:即使播放器没有聚焦,音频也会暂停。

例如,我在播放器上放了一些音乐,然后转到网络浏览器。如果在浏览器中导航时按空格键,音频将停止。

我希望程序仅在应用聚焦时才侦听。这是我的代码的一部分:

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。