如何使用Python的aifc模块将音频文件转换为mp3格式
发布时间:2023-12-30 13:58:26
要将音频文件转换为MP3格式,你可以使用Python的aifc模块。该模块提供了一种处理AIFF-C格式音频文件的方式。
以下是一个使用Python的aifc模块将音频文件转换为MP3格式的示例代码:
import aifc
import wave
import os
import subprocess
def convert_to_mp3(input_file, output_file):
# 检查输入文件是否存在
if not os.path.isfile(input_file):
print(f"输入文件 '{input_file}' 不存在。")
return
# 将输入文件转换为WAV格式
temp_wav_file = os.path.splitext(input_file)[0] + ".wav"
with aifc.open(input_file, 'rb') as input_audio:
with wave.open(temp_wav_file, 'wb') as output_audio:
output_audio.setparams((input_audio.getnchannels(), input_audio.getsampwidth(), input_audio.getframerate(),
input_audio.getnframes(), input_audio.getcomptype(), input_audio.getcompname()))
output_audio.writeframes(input_audio.readframes(input_audio.getnframes()))
# 使用FFmpeg将WAV文件转换为MP3格式
subprocess.call(['ffmpeg', '-i', temp_wav_file, '-acodec', 'libmp3lame', output_file])
# 删除临时WAV文件
os.remove(temp_wav_file)
print(f"音频文件 '{input_file}' 已成功转换为 '{output_file}'。")
你可以调用convert_to_mp3函数来将音频文件从AIFF-C格式转换为MP3格式。你需要提供输入文件的路径和用于保存转换后文件的输出文件路径。
以下是一个使用示例:
input_file = "input.aifc" output_file = "output.mp3" convert_to_mp3(input_file, output_file)
该示例将名为input.aifc的AIFF-C格式音频文件转换为MP3格式,并将结果保存为output.mp3文件。
请确保在运行代码之前已安装FFmpeg,并且可以通过终端或命令提示符运行ffmpeg命令。通过使用此命令,可以在Python中调用FFmpeg进行音频转换。
