需要先安装好pydub,会用到ffmpeg安装请点这里
将目标目录下的所有音频文件格式转换成目标格式。
from pydub import AudioSegmentimport osdef transform_audio_types(file_path, output_audio_type, output_path=None):"""转换任意格式的音频文件到目标格式:param file_path: 文件完整路径:param output_audio_type: 目标格式:return:"""# 批量,输入为文件夹if os.path.isdir(file_path):for root, dirs, files in os.walk(file_path):for file in files:input_audio_type = file.split(".")[-1]input_audio_path = os.path.join(root, file)data = AudioSegment.from_file(input_audio_path, input_audio_type)filename = file.split(".")[0]print(filename)output_audio_file = file.split(".")[0]+'.'+output_audio_type# 默认输出在原文件路径下if not output_path:data.export(os.path.join(root, output_audio_file), format=f"{output_audio_type}")# 指定输出路径else:data.export(os.path.join(output_path, output_audio_file), format=f"{output_audio_type}")# 输入为单个文件elif os.path.isfile(file_path):input_audio_type = file_path.split(".")[-1]data = AudioSegment.from_file(file_path, input_audio_type)filename = file_path.split(".")[0]print(filename)output_audio_file = file_path.split(".")[0] + '.' + output_audio_type# 默认输出在原文件路径下if not output_path:data.export(output_audio_file, format=f"{output_audio_type}")else:os.makedirs(output_path, exist_ok=True)data.export(os.path.join(output_path, filename+'.'+output_audio_type), format=f"{output_audio_type}")
如果觉得《python调用pydub实现多种音频格式之间的转换》对你有帮助,请点赞、收藏,并留下你的观点哦!