【问题标题】:Click detection + Command: Pynput点击检测+命令:Pynput
【发布时间】:2022-01-01 07:48:40
【问题描述】:

所以,我正在使用 pynput 做一些事情,我想要它,所以每次点击它都会打印一个不同的单词,例如:

Click:
Print("HI")
Click:
Print("WHY")
Click:
Print("BYE")

但我使用的代码是:

def on_click(x, y, button, pressed):
    print(c.format(
        print("HI - Clicked")
        if pressed else
        print("HI - Unclicked"),
        (x, y)))
    if not pressed:
        # Stop listener
        return False
with Listener(
        on_click=on_click) as listener:
    listener.join()

所以在它说(“HI - Unclicked”)并且您再次点击之后,我希望它说(“WHY - Clicked”)和(“WHY - Unclicked”)如果有人知道如何请回复,编辑:请显示我如何为单击播放音频并取消单击列表,例如:['food.wav', 'click.wav'] 谢谢。

【问题讨论】:

  • 你能举例说明你得到的当前输出与你期望的输出吗?
  • 记住print 返回None。在您的 c.format 中,您应该有字符串,而不是 print 函数。
  • 当然,如果您在第一次取消点击后立即杀死侦听器,那么您将永远不会获得第二次点击。

标签: python detection pynput


【解决方案1】:

您只需保留一份问候列表并轮流查看。

greets = ["HI", "WHY", "BYE"]
def on_click(x, y, button, pressed):
    greet = greets[0]
    if pressed:
        print(greet, "- Clicked", x, y )
    else:
        print(greet, "- Unclicked", x, y )
        greets.append(greets.pop(0))

with Listener(on_click=on_click) as listener:
    listener.join()

更新

greets = ["gunshot.wav", "you.wav", "cool.wav"]
def on_click(x, y, button, pressed):
    greet = greets[0]
    if pressed:
        pg.mixer.Sound(greet).play()
        print(greet, "- Clicked", x, y )
    else:
        print(greet, "- Unclicked", x, y )
        greets.append(greets.pop(0))

with Listener(on_click=on_click) as listener:
    listener.join()

甚至:

greets = [pg.mixer.Sound(k) for k in ("gunshot.wav", "you.wav", "cool.wav")]
def on_click(x, y, button, pressed):
    greet = greets[0]
    if pressed:
        greet.play()
        print("- Clicked", x, y )
    else:
        print("- Unclicked", x, y )
        greets.append(greets.pop(0))

with Listener(on_click=on_click) as listener:
    listener.join()

【讨论】:

  • 谢谢!但是如何在单击时播放带有列表名称的音频?
  • 谁说过音频?你从来没有提到过。您的应用中已经有声音了吗?
  • 是的,我有音频,但我忘了放播放和音频太抱歉了。
  • 好吧,我不知道你用的是什么音频包。如果您有文本转语音模块,则只需将 greet 字符串传递给该模块即可。
  • 我没有使用 TTS,我使用的是 pygame 的音频功能,例如: /跨度>
猜你喜欢
  • 2021-08-11
  • 1970-01-01
  • 2021-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多