You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python批量将M4A文件转换为MP3格式?

使用Python将M4A转换为MP3(支持单文件/批量转换)

前置准备

首先得搞定两个核心依赖:

  • ffmpeg:pydub依赖它处理音频编码,不同系统安装方式:
    • Windows:去官网下载压缩包,解压后把ffmpeg.exe所在路径添加到系统环境变量PATH
    • macOS:终端执行brew install ffmpeg
    • Linux:终端执行sudo apt install ffmpeg
  • 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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 21:43:13