基于Python监测键盘输入并发出声音的坤音键盘

这篇具有很好参考价值的文章主要介绍了基于Python监测键盘输入并发出声音的坤音键盘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

代码和软件在公众号【走神研究所】发送【键盘】关键字获取。

这是一款基于python的桌面小工具,能够实时显示你敲击键盘的按键,并且当摁下“J”、“N”、“T”、“M”时会发出坤音。

基于Python监测键盘输入并发出声音的坤音键盘

具体视频 演示和代码原理在这里

打开程序,随意摁下键盘,小坤坤就会张开嘴巴,显示键盘。

当触发到绝密时机的时候(键盘jntm)就会发出美妙的坤音。

现在给大家讲下整个程序的原理。

首先是资源文件,小人的图片是我从网上找的坤坤手办,用Photoshop抠出来的,在嘴部增加一个黑色圆圈,代表张嘴。再加上一个气泡框用来显示文字,图片资源就搞定了。

基于Python监测键盘输入并发出声音的坤音键盘

声音资源则是从网上找到坤坤本人的采访音频,截取出来对应的声音片段即可。

代码原理比较简单,主要基于pynput库,这个库可以监测和模拟键盘和鼠标输入,我们用这个库来实现对键盘输入的监控。

from pynput.keyboard import Listener, GlobalHotKeys, Key
class KeyBoardLister():
    def __init__(self, on_press_func, on_release_func, hot_keys_func_map=None):
        self.on_press = on_press_func
        self.on_release = on_release_func
        # 开启热键监控
        if hot_keys_func_map is not None:
            self.start_monitor_hotkey(hot_keys_func_map)
        self.start_monitor_keyboard()
        
    # 键盘监测
    def start_monitor_keyboard(self):
        self.listener = Listener(on_press=self.on_press, on_release=self.on_release)
        self.listener.start()

    # 热键监控-非阻塞
    def start_monitor_hotkey(self, hot_keys_func_map):
        h = GlobalHotKeys(hot_keys_func_map)
        h.start()

gui采用pyqt,摁下键盘,显示张嘴小人,松开键盘,显示闭嘴小人,这样就可以实现说话的效果。

def set_char(self, ch):
        if ch is None:
            return
        if ch in self.ch2audio:
            self.play_radio(self.ch2audio[ch])
        if ch == "j" or ch == "J":
            ch = "只因"

        # 设置字母
        if len(ch) == 1:
            # 显示字母
            font = QtGui.QFont()
            font.setFamily("微软雅黑")
            font.setPixelSize(35)
            font.setBold(True)
            self.lab_content.setFont(font)
            self.lab_content.setStyleSheet("color:black;")
            self.lab_content.move(40, 28)
        else:
            # 显示字母
            font = QtGui.QFont()
            font.setFamily("微软雅黑")
            font.setPixelSize(25)
            font.setBold(True)
            self.lab_content.setFont(font)
            self.lab_content.setStyleSheet("color:black;")
            self.lab_content.move(28, 28)
        self.lab_content.setText(ch)
        self.lab_content.adjustSize()
        # 张嘴
        self.lab.setPixmap(QtGui.QPixmap(resource_path(os.path.join("imgs", "cai2.png"))))


    # 长时间没有触发则要回归到最初状态
    def reset_char(self):
        # 清除文字
        self.lab_content.setText("")
        self.lab_content.adjustSize()
        # 闭嘴
        self.lab.setPixmap(QtGui.QPixmap(resource_path(os.path.join("imgs", "cai1.png"))))

当键盘匹配到特定输入时,就会播放对应音频,包括“jntm”四个字母,以及摁下快捷键“ctrl+j”时会播放“你干嘛”。

播放音频用的库是playsound库,这里要注意播放音频需要新开一个子线程,否则会阻塞主线程继续监听键盘。

# 开线程放音乐,避免阻断主流程,实现可以同时放多个radio
def play_radio(self, path):
        t = threading.Thread(target=playsound.playsound, args=(path,))
        t.start()

短短200行代码实现的坤音键盘,你还不来试试?文章来源地址https://www.toymoban.com/news/detail-487905.html

到了这里,关于基于Python监测键盘输入并发出声音的坤音键盘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • python 键盘输入矩阵

    参考:(3条消息) python 从键盘获取数据(整数、列表、矩阵)_啦啦啦(●\\\'◡\\\'●)的博客-CSDN博客_python从键盘获取列表

    2024年02月13日
    浏览(9)
  • 利用python进行键盘模拟输入

    记一次利用python模拟键盘输入,由于键盘中英文切换较为麻烦,所以写了两个小程序分别进行英文字符模拟或中文字符模拟。 在第二个程序中,也可以输入英文字符,但是由于系统键盘中英文的切换问题,当进行英文和中文混合使用时,模拟会出现偏差。

    2024年02月11日
    浏览(6)
  • chatgpt赋能python:Python怎么横向键盘输入?

    如果你是一位使用Python进行编程的工程师,你肯定明白快速而准确地输入代码的重要性。现在,许多程序员都找到了一个方法来更快地输入代码-横向键盘输入。 横向键盘输入是一种方法,它能使你通过手指的滑动来快速输入代码。新手可能需要一些时间来适应这种方式,但

    2024年02月09日
    浏览(8)
  • python--如何从键盘上输入一个列表

    python--如何从键盘上输入一个列表

    首先介绍两个函数 input().split(): 将字符串以空白符为标志分割成多个字符串。 map(int,字符序列): 将分割出来的字符序列转换成整型序列。 输出结果为:

    2024年02月06日
    浏览(15)
  • Python实时监控键盘的输入并打印出来

    要实现Python实时监控键盘的输入并打印出来,可以使用`pynput`模块。 首先,需要安装`pynput`模块: pip install pynput   然后,可以编写以下代码来实现实时监控键盘输入并打印出来的功能: 这段代码会创建一个`keyboard.Listener`对象,并指定`on_press`函数作为回调函数来处理键盘输入

    2024年02月12日
    浏览(10)
  • PyAutoGUI Python 库,可以用于自动化鼠标和键盘的输入

    PyAutoGUI 是一个 Python 库,可以用于自动化鼠标和键盘的输入。它可以模拟人类的鼠标和键盘操作,例如单击、双击、拖动、按键、释放键等。PyAutoGUI 还提供了一些其他功能,例如屏幕截图和图像识别等。 以下是几个 PyAutoGUI 的典型案例和代码: 这些示例只是 PyAutoGUI 的一小部

    2024年02月10日
    浏览(7)
  • python 从键盘输入若干个整数,当输入“-1““时输入结束,请统计最大值、最小值和平均数

    python 从键盘输入若干个整数,当输入“-1““时输入结束,请统计最大值、最小值和平均数

    python 从键盘输入若干个整数,当输入\\\"-1\\\"\\\"时输入结束,请统计最大值、最小值和平均数 上面题目代码如下: 第一种方法列表方法求: 第二种方法,冒泡排序算法求得 代码中,考虑到-1这种情况,做了如下处理:

    2024年02月06日
    浏览(10)
  • 什么轴的机械键盘声音小

    机械键盘作为键盘的一种类型,从结构来说,因其各个按键都有各自独立的微动开关的特性,按键的段落感较强,深受大众的喜爱。按照微动开关之间的区别,机械键盘大概可以分为茶轴、青轴、黑轴、以及红轴四种常见轴体,并有绿轴、灰轴、白轴等少见或停产轴体。今天

    2024年02月12日
    浏览(18)
  • python从键盘输入-个字符串,统计该字符串中各数字出现的次数。

    在 Python 中,可以使用 input() 函数从键盘输入字符串。例如: 然后,可以使用字典来统计字符串中数字出现的次数。首先,可以创建一个空字典,然后遍历字符串中的每一个字符,如果这个字符是数字,就将它作为字典的键,并将其值加 1。 最后,可以使用循环来遍历字典并

    2024年02月05日
    浏览(15)
  • C# 监测全局键盘和鼠标事件

    在 C# 中,我们可以编写代码来监测全局键盘和鼠标事件。通过捕捉这些事件,我们可以实现一些有趣的功能,比如记录按键操作、截获特定的快捷键,或者在鼠标点击时执行特定的操作。 下面是一个示例代码,演示了如何在 C# 中监测全局键盘和鼠标事件:

    2024年02月02日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包