欢迎访问宙启技术站
智能推送

如何使用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进行音频转换。