我目前正在尝试制作一个简单的python脚本来创建语音数据。
脚本的想法是,当按下并按住某个键时,使用pyaudio
开始录制,并在释放该键时停止录制。
我目前对如何实施while key hold / stop at release mechanism.
我找到了这个图书馆keyboard
,但它是否合并无法理解
这种形式的机制?
答案 0 :(得分:2)
根据库“键盘”源中的this code,它确实提供了检测当前是否按下某个键的机制。所以你可以做一个while循环来检查用户是否已经释放了该密钥。
#/usr/bin/python
# file: __init__.py
# ...
def is_pressed(key):
"""
Returns True if the key is pressed.
is_pressed(57) -> True
is_pressed('space') -> True
is_pressed('ctrl+space') -> True
"""
_listener.start_if_necessary()
if is_number(key):
return key in _pressed_events
elif len(key) > 1 and ('+' in key or ',' in key):
parts = canonicalize(key)
if len(parts) > 1:
raise ValueError('Cannot check status of multi-step combination ({}).'.format(key))
return all(is_pressed(part) for part in parts[0])
else:
for event in _pressed_events.values():
if matches(event, key):
return True
return False