100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python打字机效果_如何在电脑键盘打字的时候有打字机的声音效果?

python打字机效果_如何在电脑键盘打字的时候有打字机的声音效果?

时间:2020-05-06 06:38:46

相关推荐

python打字机效果_如何在电脑键盘打字的时候有打字机的声音效果?

这个必须来安利一波啦~

前言:

自从入了Nintendo Switch, 就感觉它的交互音带来的体验很棒.

选择的时候滴滴滴滴, 快速切换的时候夹杂着哒哒哒哒.

新闻板块打开后还会有呼噜呼噜的声音, 相册打开后有嘶啦嘶啦的声音.

简直可爱到爆炸好么!

想必拥有了这样一个键盘按键音一定可以让工作效率max++!

于是乎...看在音效实在太可爱的份上我先妥协一下看看有没有非全局的成品.

我打开了vscode extension, 输入keyboard sound:出来就两个能用的: Typewriter Sounds 和 Keyboard Sounds.

......

其中一个还是基于mplayer的......

不行不行

github一圈搜下来哦?! 有nodejs的!Tynael/Hear-Me-Type​但是想了想, 不行不行, 这种事情怎么能交给厚重的node处理呢!

而且就算可以用, 无论如何我也要听到连按的咕噜咕噜声! 这是一个灵魂痛点! (腰背挺直

看来除了手撸别无他法了! (自我说服

于是乎! 决定一定自己亲手撸一个nintendo switch的全局键盘音! (认真

经过4小时的艰苦奋斗, 终于搞定啦!

效果如下:第一种音配置/video/1172503894088728576第二种音配置/video/1172976362687229952支持自定义音频, 只需要更改对应的flac文件内容即可 (如果变更名称需要修改代码).

代码由python自动生成, 因为重复的代码实在太长了......为了每个按键独立线程目前只能牺牲工程上的代码可维护性了. (其实是因为懒.jpg(逃

除去个别按键, 例如alt, ctrl, windows(system) 之类的, 其余所有按键都支持长按后咕噜咕噜的音效! (灵魂所在

如何使用:项目已开源:运行源码需要自备SFML配置.LiaoBill/keyboard_sounds​windows直接下载:第一种音配置 -- 有点吵, 但很欢快

第二种音配置 -- 更安静, 支持组合键ctrlc, ctrlv

解压后双击xmain.exe运行即可.

其余平台请自行编译运行啦~

xmain.exe 为 MinGW g++ 7.1.0 build, 在Windows 18362上测试通过.但因为是命令行程序, 直接运行不可避免得会出现小黑窗, 极端不美观令人发指.

所以推荐命令行启动:什么? 你说还是有小黑窗, 那是你打开的, 不算, 最小化就好. (逃

cd [xmain.exe location]

./xmain.exe或者嵌入其他程序启动, 例如python: (注意指定cwd的坑(●'◡'●)这样就可以彻底告别小黑窗啦!

startupinfo = subprocess.STARTUPINFO()

startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW

subprocess.Popen("./XCppHelpers/xmain.exe", cwd="./XCppHelpers/", shell = False, startupinfo = startupinfo)不想要音效了, 直接ctrl + alt + f9退出即可.

第二种音配置支持部分组合键 (e.g. Ctrl + C) 音效, 详见 README.md 文件.

更多详细使用方法请见 Git Repo 上的 README.md 文件.

技术梗概:基于SFML :SFML​www.sfml-用帧计算trick来判断连按.

更多详见Git repo readme.

下一步: (咕咕咕代码可维护性太差, 有时间进一步了解SFML后会稍稍修改下下(lll¬ω¬)

SFML的key不支持capslock按键, 需要用其他方式来hack

加入更多其他按键和组合键的音效 (但是switch的音效基本被我用完了(哭

做个GUI套子以方便更新音源, 修改volume和pitch

使用愉快!~

Live long and prosperous!

更新线 (-10-29 19:23:50)因SFML的MinGW官方build版本没有将MinGW相关库静态编译进去, 导致没有安装MinGW的童鞋windows本地无法直接运行(会报缺少dll错误).

于是我在Windows MinGW环境下对SFML源码进行了重build, 使用下面的flag激活静态链接: [官方文档: Compiling SFML with CMake]

SFML_USE_STATIC_STD_LIBS enabled并使用使用静态链接的SFML库对该项目进行了重新build, 根据 [官方文档: How do I link SFML statically], 对所有需要的库进行静态链接:

g++ tech-unwrap.cpp -o xmain.exe -DSFML_STATIC -I D:/MyFiles/PROGRAMS/SFML-2.5.1-Static/done/SFML/include -L D:/MyFiles/PROGRAMS/SFML-2.5.1-Static/done/SFML/lib -lsfml-graphics-s -lsfml-window-s -lsfml-audio-s -lsfml-system-s -lopengl32 -lwinmm -lgdi32 -lfreetype -ljpeg -lopenal32 -lflac -lvorbisenc -lvorbisfile -lvorbis -logg上方的静态链接指令已经转为vscode task.json push到git repo上了, 有需要的可以自取.

现在的版本第一种音配置 -- 有点吵

第二种音配置 -- 更安静, 支持组合键ctrlc, ctrlv

是真正可以直接运行的版本啦~ (在未安装MinGW的环境下测试成功)

之后的更新将会在Github上放出, 需要的自取release.

使用愉快!~

Live long and prosperous!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。