音频转换
函数名: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)技术说明
支持的输出格式
| 扩展名 | 格式 | 编码方式 |
|---|---|---|
| .wav | WAV | PCM 无损(WaveFileWriter) |
| .mp3 | MP3 | MFAudioFormat_MP3 |
| .wma | WMA | MFAudioFormat_WMAudioV8 |
| .aac | AAC | MFAudioFormat_AAC |
| .m4a | M4A | MFAudioFormat_AAC |
实现原理
- WAV 格式使用 NAudio 的
WaveFileWriter.CreateWaveFile直接写入 PCM 数据 - MP3、WMA、AAC、M4A 格式使用 NAudio 的
MediaFoundationEncoder进行编码,需先调用MediaFoundationApi.Startup()初始化 Media Foundation - 输出格式由
输出文件参数的文件扩展名自动识别,无需额外指定格式参数
实现依赖
基于 NAudio 音频处理库实现,支持常见音频格式的解码与编码。
错误处理
| 错误场景 | 返回值 |
|---|---|
| 输入文件不存在 | 错误: 输入文件不存在 - {文件路径} |
| 输出文件扩展名为空 | 错误: 输出文件扩展名不能为空 |
| 输出格式不在支持范围内 | 错误: 不支持的输出格式 '{扩展名}'(支持: .wav .mp3 .wma .aac .m4a) |
| 其他异常 | 转换失败: {异常信息} |