Как остановить запись с помощью PyAudio в операторе Final:Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как остановить запись с помощью PyAudio в операторе Final:

Сообщение 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()


Подробнее здесь: https://stackoverflow.com/questions/790 ... -statement
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как остановить запись с помощью PyAudio в операторе Final:
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Как остановить запись с помощью PyAudio в операторе Final:
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как остановить запись с помощью PyAudio в операторе Final:
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как остановить запись с помощью PyAudio в операторе Final:
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как остановить запись с помощью PyAudio в операторе Final:
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»