|
import streamlit as st |
|
from pydub import AudioSegment |
|
from pydub.utils import make_chunks |
|
import os |
|
|
|
st.title("Простое приложение диктофон") |
|
|
|
|
|
def record_audio(): |
|
|
|
filename = "recorded_audio.wav" |
|
os.system(f"ffmpeg -f alsa -i default -t 10 -y {filename}") |
|
return filename |
|
|
|
def play_audio(filename): |
|
audio = AudioSegment.from_wav(filename) |
|
st.audio(audio.raw_data, sample_rate=audio.frame_rate) |
|
|
|
|
|
if st.button("Записать аудио"): |
|
filename = record_audio() |
|
st.success("Аудио записано!") |
|
with open(filename, "rb") as f: |
|
st.download_button("Скачать аудио", f, file_name=filename) |
|
|
|
if st.button("Воспроизвести аудио"): |
|
if os.path.exists("recorded_audio.wav"): |
|
play_audio("recorded_audio.wav") |
|
else: |
|
st.warning("Сначала нужно записать аудио!") |