- 方法介绍:
在日常生活中,很多的音乐播放器下载的音频文件是特殊加密文件,在其他设备上无法正常播放,给我们带来诸多不便,为了正常使用我们可能会通过各类格式转换工具进行音频格式转换,劳民伤财!
今天我们通过python语言进行音频文件格式转换,既可以学到技术,又可以给我们的工作生活带来便利!一举多得的好事!现在开打开编译器学起来吧! - 准备工作:
在开始之前我们需要下载几个python所需的方法库,音频格式转换也是依托这几个库中的方法:
1)“下载地址: https://www.gyan.dev/ffmpeg/builds/”
注意:下载ffmpeg;下载后解压到C盘根目录下!!!;将C:\ffmpeg\bin 添加到系统环境变量!!!
不会添加系统环境变量的看这里——>(https://blog.csdn.net/zhan9le/article/details/145133484?sharetype=blogdetail&sharerId=145133484&sharerefer=PC&sharesource=zhan9le&sharefrom=mp_from_link)
"""
音频文件格式转换工具
"""
import os
from pydub import AudioSegment
from pathlib import Path
- 现在开始:(按照第二步准备工作做好后,直接复制即可)
def setup_ffmpeg():
"""设置 ffmpeg 路径"""
try:
ffmpeg_path = r"C:\ffmpeg\bin"
if os.path.exists(ffmpeg_path):
os.environ["PATH"] += os.pathsep + ffmpeg_path
else:
print("警告: 未找到 ffmpeg,请安装 ffmpeg 并设置正确的路径")
print("下载地址: https://www.gyan.dev/ffmpeg/builds/")
print("1. 下载 ffmpeg")
print("2. 解压到 C:\\ffmpeg")
print("3. 将 C:\\ffmpeg\\bin 添加到系统环境变量")
return False
return True
except Exception as e:
print(f"设置 ffmpeg 失败: {e}")
return False
- 转换代码:(直接复制即可)
def convert_m4a_to_mp3(input_folder: str, output_folder: str):
"""
将文件夹中的所有m4a文件转换为mp3
Args:
input_folder: 输入文件夹路径
output_folder: 输出文件夹路径
"""
try:
if not setup_ffmpeg():
return
if not os.path.exists(output_folder):
os.makedirs(output_folder)
m4a_files = list(Path(input_folder).glob('*.m4a'))
total = len(m4a_files)
print(f"找到 {total} 个m4a文件")
for i, m4a_path in enumerate(m4a_files, 1):
try:
if not os.path.exists(m4a_path):
print(f"[{i}/{total}] {m4a_path.name} -> 源文件不存在,跳过")
continue
mp3_path = os.path.join(output_folder, f"{m4a_path.stem}.mp3")
if os.path.exists(mp3_path):
print(f"[{i}/{total}] {m4a_path.name} -> 已存在,跳过")
continue
print(f"[{i}/{total}] 正在转换 {m4a_path.name}...")
cmd = f'ffmpeg -i "{m4a_path}" -acodec libmp3lame -ab 320k "{mp3_path}"'
result = os.system(cmd)
if result == 0:
print(f"[{i}/{total}] {m4a_path.name} -> 转换成功")
else:
print(f"[{i}/{total}] {m4a_path.name} -> 转换失败")
except Exception as e:
print(f"[{i}/{total}] {m4a_path.name} -> 转换失败: {e}")
continue
print("\n转换完成!")
print(f"输出目录: {output_folder}")
except Exception as e:
print(f"转换过程出错: {e}")
- 转换代码:(修改文件路径后直接复制即可)
def main():
input_folder = r"这里填当前需要转换的文件路径"
output_folder = r"这里填转换的文件存放路径"
convert_m4a_to_mp3(input_folder, output_folder)
if __name__ == "__main__":
main()