要保留音频文件的元数据(如标题、专辑等)在转换过程中,可以使用 `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/