Когда-то, на C# я писал программу, в которой мне нужна была запись звука. И мне нужны были такие функции, как запись, остановка, пауза и возобновление, и все это в высокоуровневой библиотеке или обертке.
И я нашел такую библиотеку, все было ясно и понятно.
И сейчас я столкнулся с такой проблемой в Python, что не могу найти что-то подобного!
pyaudio, sounddevice, с помощью них можно сделать что-то, но это достаточно низкий уровень.
Сложность в том, что они для записи требуют duration time, т.е время записи, которое нужно задать изначально. В моем же случае, запись должна продолжаться, пока не будет вызван соответствующий код для остановки.
Я нашел код для записи без duration time в sounddevice, но он по прежнему сложен, и не является библиотекой, чтобы использовать в иных частях кода:
https://github.com/spatialaudio/python-sounddevice...
Самый простой способ записи, который мне удалось найти, это использование библиотеки recorder:
https://pypi.org/project/recorder/
Вот код простого диктофона, который мне удалось обнаружить:
import tkinter as tk
from tkinter import *
import recorder
window = Tk()#creating window
window.geometry('700x300')#geomtry of window
window.title('TechVidvan')#title to window
Label(window,text="Click on Start To Start Recording",font=('bold',20)).pack()#label
rec = recorder.Recorder(channels=2)
running = None
def start():
global running
if running is not None:
print('already running')
else:
running = rec.open('untitled.flac', 'wb')
running.start_recording()
Label(window,text='Recording has started').pack()
def stop():
global running
if running is not None:
running.stop_recording()
running.close()
running = None
Label(window,text='Recording has stoped').pack()
else:
print('not running')
Button(window,text='Start',bg='green',command=start,font=('bold',20)).pack()#create a button
Button(window,text='Stop',bg='green',command=stop,font=('bold',20)).pack()#create a button
window.mainloop()
Но вопрос с паузой и возобновлением все еще остается открытым.
Быть может, посоветуете что?