1. 引入必要模块
在 Python 代码开头,使用 `import subprocess` 引入 `subprocess` 模块。该模块允许 Python 程序创建新的进程,执行外部命令,并与之进行交互,是调用 `ffmpeg` 命令的关键。
2. 定义转换函数
定义名为 `flac_to_mp3` 的函数,它接收两个参数:`input_flac_file` 表示输入的 FLAC 文件路径,`output_mp3_file` 表示输出的 MP3 文件路径。此函数将承担具体的文件转换任务。
3. 构建 FFmpeg 命令
在函数内部,构建一个 `ffmpeg` 命令列表。具体参数如下:
- `'ffmpeg'`:指定要执行的命令为 `ffmpeg`。
- `'-i'` 和 `input_flac_file`:指定输入的 FLAC 文件。
- `'-vn'`:告诉 `ffmpeg` 忽略视频流,因为我们只处理音频转换。
- `'-acodec'` 和 `'libmp3lame'`:指定使用 `libmp3lame` 作为音频编码器,用于将音频编码为 MP3 格式。
- `'-q:a'` 和 `'2'`:设置音频质量,值越小质量越高,这里设置为 2 以保证较好的音质。
- `output_mp3_file`:指定输出的 MP3 文件路径。
4. 执行 FFmpeg 命令
使用 `subprocess.run(command, check=True)` 执行构建好的 `ffmpeg` 命令。`check=True` 表示如果命令执行失败,将抛出 `subprocess.CalledProcessError` 异常。
5. 异常处理
使用 `try-except` 结构捕获可能出现的异常:
- `subprocess.CalledProcessError`:当 `