Skip to content

音频转换

函数名:audio_音频转换 / audio_convert

功能描述

将音频文件转换为指定的格式,支持 wav、mp3、wma、aac、m4a 等格式互相转换。输出格式由输出文件的扩展名自动决定,转换完成后返回输出文件路径及文件大小信息。

会员等级:🟢 免费版(Free)

语法

excel
=audio_音频转换(输入文件, 输出文件)

参数

参数名类型必填默认值说明
输入文件String输入音频文件的完整路径
输出文件String输出音频文件的完整路径(根据扩展名决定输出格式,支持 wav/mp3/wma/aac/m4a)

返回值

String — 转换成功时返回"转换完成: {文件路径} ({文件大小} KB)";失败时返回错误信息。

使用示例

示例一:MP3 转 WAV

将 MP3 音频文件转换为 WAV 格式。

公式

excel
=audio_音频转换("D:\audio\song.mp3", "D:\audio\song.wav")

结果

转换完成: D:\audio\song.wav (4523.5 KB)

示例二:WAV 转 M4A

将 WAV 音频文件压缩转换为 M4A 格式以减小文件体积。

公式

excel
=audio_音频转换("D:\audio\recording.wav", "D:\audio\recording.m4a")

结果

转换完成: D:\audio\recording.m4a (1280.3 KB)

示例三:WMA 转 MP3

将 WMA 格式音频转换为通用的 MP3 格式。

公式

excel
=audio_音频转换("E:\music\track.wma", "E:\music\track.mp3")

结果

转换完成: E:\music\track.mp3 (3856.7 KB)

技术说明

支持的输出格式

扩展名格式编码方式
.wavWAVPCM 无损(WaveFileWriter)
.mp3MP3MFAudioFormat_MP3
.wmaWMAMFAudioFormat_WMAudioV8
.aacAACMFAudioFormat_AAC
.m4aM4AMFAudioFormat_AAC

实现原理

  • WAV 格式使用 NAudio 的 WaveFileWriter.CreateWaveFile 直接写入 PCM 数据
  • MP3、WMA、AAC、M4A 格式使用 NAudio 的 MediaFoundationEncoder 进行编码,需先调用 MediaFoundationApi.Startup() 初始化 Media Foundation
  • 输出格式由 输出文件 参数的文件扩展名自动识别,无需额外指定格式参数

实现依赖

基于 NAudio 音频处理库实现,支持常见音频格式的解码与编码。

错误处理

错误场景返回值
输入文件不存在错误: 输入文件不存在 - {文件路径}
输出文件扩展名为空错误: 输出文件扩展名不能为空
输出格式不在支持范围内错误: 不支持的输出格式 '{扩展名}'(支持: .wav .mp3 .wma .aac .m4a)
其他异常转换失败: {异常信息}

基于源代码最新版本文档