Остановить запись работает в командной строке, а не в PyCharm IDE - PullRequest
0 голосов
/ 12 июня 2018

Я новичок в python и написал код для записи аудио от пользователя.Чтобы остановить запись, пользователь должен нажать «Ctrl + C».Но эта функция работает только в командной строке, а не с IDE.Может ли кто-нибудь помочь мне в этом?

Код выглядит следующим образом:

import sys
import queue
import tempfile
import numpy as np
import sounddevice as sd
import soundfile as sf
assert np

q = queue.Queue()


def callback(indata, frames, time, status):
    """
    This is called from a separate thread for each audio block
    """
    if status:
        print(status, file=sys.stderr)
    q.put(indata.copy())


# Unique file name for every recording
filename = tempfile.mktemp(prefix='untitled_', suffix='.wav', dir='')
# Make sure the file is open before recording anything
with sf.SoundFile(filename, mode='x', samplerate=48000, channels=2, 
subtype='PCM_24') as file:
    with sd.InputStream(samplerate=48000, channels=2, callback=callback):
        print('#' * 80)
        print('press Ctrl+C to stop the recording')
        print('#' * 80)
        while True:
            file.write(q.get())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...