一、软件实测

二、源代码
# 将wav格式文件转为mp3
# 导入streamlit库,用于创建交互式Web应用
import streamlit as st
# 导入pydub库中的AudioSegment类,用于音频处理
from pydub import AudioSegment
# 导入os模块,用于进行操作系统相关的操作,如文件管理
import os
# 定义一个函数,用于将WAV文件转换为MP3文件
def convert_wav_to_mp3(wav_file):
# 使用AudioSegment.from_wav方法从WAV文件中读取音频数据
audio = AudioSegment.from_wav(wav_file)
# 生成对应的MP3文件名,将原文件名中的".wav"替换为".mp3"
mp3_filename = wav_file.replace(".wav", ".mp3")
# 使用export方法将音频数据以MP3格式导出到指定文件
audio.export(mp3_filename, format="mp3")
# 返回生成的MP3文件名
return mp3_filename
# 在Streamlit应用中设置标题为“WAV to MP3 Converter”
st.title("WAV to MP3 Converter")
# 创建一个文件上传组件,允许用户上传多个WAV文件
uploaded_files = st.file_uploader("Upload WAV files", type=["wav"], accept_multiple_files=True)
# 检查用户是否上传了文件
if uploaded_files:
# 遍历上传的每个文件
for file in uploaded_files:
# 以二进制写入模式打开文件,并将上传的文件内容写入本地文件
with open(file.name, "wb") as f:
f.write(file.getbuffer())
# 调用convert_wav_to_mp3函数将WAV文件转换为MP3文件,并获取生成的MP3文件名
mp3_file = convert_wav_to_mp3(file.name)
# 在Streamlit应用中显示成功转换的消息
st.success(f"Converted {file.name} to {mp3_file}")
# 以二进制读取模式打开生成的MP3文件,读取文件内容
with open(mp3_file, "rb") as f:
bytes_data = f.read()
# 在Streamlit应用中创建一个下载按钮,用于下载转换后的MP3文件
st.download_button(
# 按钮上显示的文本
label=f"Download {mp3_file}",
# 要下载的数据
data=bytes_data,
# 下载时保存的文件名
file_name=mp3_file,
# 文件的MIME类型
mime="audio/mpeg"
)
# 处理完成后,删除原始的WAV文件和生成的MP3文件,进行清理操作
os.remove(file.name)
os.remove(mp3_file)
注:
1、下载并解压FFmpeg:
2、将FFmpeg添加到系统路径
3、验证FFmpeg是否安装成功:ffmpeg -version
4、安装导入库:pip install streamlit pydub
5、运行代码:streamlit run main.py
1681

被折叠的 条评论
为什么被折叠?



