之前在手机上听歌,然后下载歌曲,发现是OGG文件格式,然后上传的时候,系统识别不到,需要转换成MP3格式才可以,于是网上开始找那些能转换格式的工具,结果就是一次只能上传几个,不是很方便,还有就是下载需要充值,所以我就想自己写一个,编程不怎么厉害,但是现在AI发展很快,可以借助AI帮咱们完成一个小工具。我用的是python 语言,大家也可以用其他语言试试,重在参与。我就直接贴代码了。祝大家新年快乐。
一 开发语言:Python
二 代码:
import osimport subprocess # 用于执行ffmpeg命令
# 配置路径
source_folder = r'C:\Users\Admin\Desktop\需要转换的' # 待转换的源文件文件夹
output_folder = r'D:\转换好的音乐' # 转换后的输出文件夹
output_file = os.path.join(output_folder, 'output.txt') # 命令记录文件
supported_formats = ('.ogg', '.mp3', '.wav') # 支持的源文件格式
# 确保输出文件夹存在
os.makedirs(output_folder, exist_ok=True)
# 以追加/写入模式打开命令记录文件(utf-8编码避免中文乱码)
with open(output_file, 'w', encoding='utf-8') as f:
# 遍历源文件夹中的所有文件(仅文件,排除子文件夹)
for filename in os.listdir(source_folder):
file_path = os.path.join(source_folder, filename)
# 仅处理文件,且是指定格式的音频文件
if os.path.isfile(file_path) and filename.lower().endswith(supported_formats):
# 构造输出文件名(统一转为mp3,保留原文件名)
output_filename = os.path.splitext(filename)[0] + '.mp3'
output_path = os.path.join(output_folder, output_filename)
# 规范拼接ffmpeg命令(使用原始字符串避免转义问题)
ffmpeg_command = [
'ffmpeg',
'-i', file_path, # 输入文件
'-acodec', 'libmp3lame', # 编码格式
'-y', # 覆盖已存在的输出文件
output_path
]
# 将命令转为字符串写入文件(便于查看)
command_str = ' '.join(ffmpeg_command)
f.write(command_str + '\n')
print(f"生成命令:{command_str}")
# 实际执行转换命令
try:
# 执行ffmpeg命令,隐藏控制台输出(stdout/stderr)
subprocess.run(
ffmpeg_command,
check=True,
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL
)
print(f"✅ {filename} 转换成功,输出至:{output_path}")
except subprocess.CalledProcessError as e:
print(f"❌ {filename} 转换失败:ffmpeg执行错误")
except FileNotFoundError:
print("❌ 未找到ffmpeg,请确保ffmpeg已添加到系统环境变量,或使用完整路径(如D:\\ffmpeg\\bin\\ffmpeg.exe)")
except Exception as e:
print(f"❌ {filename} 转换失败:{str(e)}")
print(f"\n所有命令已记录至:{output_file}")

