簡體   English   中英

按下鍵時記錄,釋放鍵時停止

[英]record while key is pressed, stop when key is released

我目前正在嘗試制作一個簡單的Python腳本來創建語音數據。

該腳本的想法是,按住並按住某個鍵時,使用pyaudio開始錄制,而釋放該鍵時,則停止錄制。

我目前對應該如何實現while key hold / stop at release mechanism.有些困惑while key hold / stop at release mechanism.

我找到了這個庫keyboard ,但是它是否包含這種形式的機制卻無法理解?

根據這個代碼庫“鍵盤”的來源,它確實提供了這樣的機制,以檢測是否有鍵按下當前。 因此,您可以進行一輪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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM