Мне интересно, есть ли способ остановить запись и экспортировать эту запись в оператореfinally: в Python. Пример: допустим, я записываю, и вдруг мой сценарий выходит из строя во время записи. Есть ли способ остановить запись и экспорт, которые должны были произойти?
Я' Я пытался создать отдельную функцию, которая экспортирует и останавливает запись, и наконец запускает ее:, но это не сработало, просто был создан новый файл. Любая помощь будет оценена по достоинству. Мой код ниже:
import pyaudio
import wave
import time
import signal
from datetime import datetime
# Configuration
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 10
# Initialize PyAudio
audio = pyaudio.PyAudio()
def record_audio(filename):
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True, frames_per_buffer=CHUNK)
print("Recording started")
frames = []
data = stream.read(CHUNK)
frames.append(data)
print("Recording stopped")
stream.stop_stream()
stream.close()
# Save to WAV file
wf = wave.open(filename, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(audio.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
def main():
try:
while True:
timestamp = datetime.now().strftime("%m-%d-%Y_%H-%M-%S")
wav_filename = f"/home/henrikkoehler/Desktop/Audio_Files/{timestamp}.wav"
record_audio(wav_filename)
print(f"Audio saved to {wav_filename}")
# Wait a bit to avoid multiple recordings from a single press
time.sleep(1)
except KeyboardInterrupt:
print("Exiting...")
except:
time.sleep(1)
t_end = time.time() + 15 * 1
while time.time() < t_end:
print("Error! Restart!")
finally:
audio.terminate()
if __name__ == "__main__":
main()
Подробнее здесь: https://stackoverflow.com/questions/790 ... -statement
Как остановить запись с помощью PyAudio в операторе Final: ⇐ Python
Программы на Python
-
Anonymous
1727490336
Anonymous
Мне интересно, есть ли способ остановить запись и экспортировать эту запись в оператореfinally: в Python. Пример: допустим, я записываю, и вдруг мой сценарий выходит из строя во время записи. Есть ли способ остановить запись и экспорт, которые должны были произойти?
Я' Я пытался создать отдельную функцию, которая экспортирует и останавливает запись, и наконец запускает ее:, но это не сработало, просто был создан новый файл. Любая помощь будет оценена по достоинству. Мой код ниже:
import pyaudio
import wave
import time
import signal
from datetime import datetime
# Configuration
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
RECORD_SECONDS = 10
# Initialize PyAudio
audio = pyaudio.PyAudio()
def record_audio(filename):
stream = audio.open(format=FORMAT, channels=CHANNELS,
rate=RATE, input=True, frames_per_buffer=CHUNK)
print("Recording started")
frames = []
data = stream.read(CHUNK)
frames.append(data)
print("Recording stopped")
stream.stop_stream()
stream.close()
# Save to WAV file
wf = wave.open(filename, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(audio.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
def main():
try:
while True:
timestamp = datetime.now().strftime("%m-%d-%Y_%H-%M-%S")
wav_filename = f"/home/henrikkoehler/Desktop/Audio_Files/{timestamp}.wav"
record_audio(wav_filename)
print(f"Audio saved to {wav_filename}")
# Wait a bit to avoid multiple recordings from a single press
time.sleep(1)
except KeyboardInterrupt:
print("Exiting...")
except:
time.sleep(1)
t_end = time.time() + 15 * 1
while time.time() < t_end:
print("Error! Restart!")
finally:
audio.terminate()
if __name__ == "__main__":
main()
Подробнее здесь: [url]https://stackoverflow.com/questions/79029133/how-to-stop-recording-with-pyaudio-on-the-finally-statement[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия