要保留音频文件的元数据(如标题、专辑等)在转换过程中,可以使用 `pydub` 和 `mutagen` 库。以下是如何实现的示例代码:
from pydub import AudioSegment
import os
from mutagen.easymp4 import EasyMP4
from mutagen.mp3 import EasyMP3
# 文件夹路径
input_folder = r"C:\Users\Mrs.Zhou\Downloads\m4a"
output_folder = r"C:\Users\Mrs.Zhou\Downloads\mp3"
# 创建输出文件夹
os.makedirs(output_folder, exist_ok=True)
# 遍历输入文件夹中的所有 m4a 文件
for filename in os.listdir(input_folder):
if filename.endswith(".m4a"):
# 路径
input_path = os.path.join(input_folder, filename)
output_path = os.path.join(output_folder, filename.replace(".m4a", ".mp3"))
# 读取元数据
audio_metadata = EasyMP4(input_path)
# 转换音频
audio = AudioSegment.from_file(input_path, format="m4a")
audio.export(output_path, format="mp3")
# 写入元数据
mp3_metadata = EasyMP3(output_path)
mp3_metadata.update(audio_metadata)
mp3_metadata.save()
print(f"Converted {filename} to MP3 with metadata.")
print("All files converted successfully with metadata.")
```
### 说明
1. **读取和写入元数据**:
- 使用 `mutagen` 库读取 M4A 文件中的元数据并写入到 MP3 文件。
2. **确保安装库**:
- 如果未安装 `mutagen`,可以使用以下命令安装:
pip install mutagen
这样可以在转换后保留音频文件的元数据信息。
另外ffmpeg组件下载,下载解压以后,记得要在系统环境路径设置 否则无效 !https://www.gyan.dev/ffmpeg/builds/