Я пытаюсь смоделировать событие клавиатуры ctrl + c в python3, используя библиотеку pyautogui.К сожалению, библиотека не генерирует это событие.Есть ли другой способ сгенерировать это?
Следующий код не работает,
from pyautogui import hotkey
hotkey('ctrl', 'c')
Я хочу выполнить эту задачу для следующего кода.Код может записывать живое аудио в течение произвольной продолжительности, и запись можно остановить в любое время, нажав «Ctrl + c».Я хочу создать это событие, чтобы добавить некоторые дополнительные функции.
import os
import sys
import time
import queue
import soundfile as f
import sounddevice as sd
def callback(indata, frames, time, status):
"""
This function is called for each audio block from the record function.
"""
if status:
print(status, file=sys.stderr)
q.put(indata.copy())
def record(filename):
try:
# Make sure the file is open before recording begins
with sf.SoundFile(filename, mode='x', samplerate=48000, channels=2, subtype="PCM_16") as file:
with sd.InputStream(samplerate=48000, channels=2, callback=callback):
print('START')
print('#' * 80)
"""
Here is the place I want to generate the event (Ctrl+c)
after n minutes
"""
print('press Ctrl+c to stop the recording')
while True:
file.write(q.get())
except KeyboardInterrupt:
print('The recording is over.')
if __name__ == "__main__":
q = queue.Queue()
record('filename.wav')