如何使用Python批量将M4A文件转换为MP3格式?
使用Python将M4A转换为MP3(支持单文件/批量转换)
前置准备
首先得搞定两个核心依赖:
- ffmpeg:pydub依赖它处理音频编码,不同系统安装方式:
- Windows:去官网下载压缩包,解压后把
ffmpeg.exe所在路径添加到系统环境变量PATH - macOS:终端执行
brew install ffmpeg - Linux:终端执行
sudo apt install ffmpeg
- Windows:去官网下载压缩包,解压后把
- pydub库:终端执行
pip install pydub
单文件转换代码
直接指定输入输出路径,逻辑简单直接:
from pydub import AudioSegment # 输入M4A文件路径 input_file = "demo.m4a" # 输出MP3文件路径 output_file = "demo.mp3" # 加载M4A音频并导出为MP3 audio = AudioSegment.from_file(input_file, format="m4a") audio.export(output_file, format="mp3")
批量转换代码
遍历指定文件夹下所有M4A文件,自动转换为同目录的MP3(也可自定义输出目录):
import os from pydub import AudioSegment # 目标文件夹路径(可替换为你需要处理的文件夹) target_dir = "./m4a_collection" # 遍历文件夹内所有文件 for file_name in os.listdir(target_dir): # 只处理后缀为.m4a的文件(忽略大小写) if file_name.lower().endswith(".m4a"): input_path = os.path.join(target_dir, file_name) # 生成输出文件名:替换后缀为.mp3 output_name = os.path.splitext(file_name)[0] + ".mp3" output_path = os.path.join(target_dir, output_name) # 执行转换 try: audio = AudioSegment.from_file(input_path, format="m4a") audio.export(output_path, format="mp3") print(f"✅ 转换完成:{file_name} → {output_name}") except Exception as e: print(f"❌ 转换失败 {file_name}:{str(e)}")
注意事项
- 若遇到中文路径报错,尽量改用英文路径,或检查系统与Python环境的编码匹配度
- 终端输入
ffmpeg -version能正常输出版本,才说明ffmpeg环境变量配置成功 - 大文件转换会占用CPU资源,可根据机器性能调整批量处理的文件数量
内容的提问来源于stack exchange,提问作者Salam Ekmek
相关产品推荐
相关产品推荐

