Golang 拼接 WAV 音频文件:去除头部信息并合并
下面是一个使用 Golang 将多段 wav 音频文件去掉头部并拼接成完整的 wav 文件的示例代码:\n\ngo\npackage main\n\nimport (\n\t"fmt"\n\t"io"\n\t"os"\n)\n\nfunc main() {\n\tfiles := []string{"audio1.wav", "audio2.wav", "audio3.wav"} // 替换成实际的音频文件名\n\n\toutputFile, err := os.Create("output.wav") // 输出文件的名称\n\tif err != nil {\n\t fmt.Println(err)\n\t return\n\t}\n\tdefer outputFile.Close()\n\n\tfor _, file := range files {\n\t inputFile, err := os.Open(file)\n\t if err != nil {\n\t fmt.Println(err)\n\t return\n\t }\n\t defer inputFile.Close()\n\n\t // 将头部信息跳过\n\t _, err = inputFile.Seek(44, 0)\n\t if err != nil {\n\t fmt.Println(err)\n\t return\n\t }\n\n\t // 将每个音频文件的数据写入输出文件\n\t _, err = io.Copy(outputFile, inputFile)\n\t if err != nil {\n\t fmt.Println(err)\n\t return\n\t }\n\t}\n\n\tfmt.Println("音频文件拼接完成!")\n}\n\n\n在上述代码中,首先定义了一个包含多个音频文件名的切片 files ,然后创建了一个名为 output.wav 的输出文件。\n\n接下来,使用 os.Open 打开每个音频文件,然后使用 Seek 跳过头部信息,以便将音频数据写入输出文件。最后,使用 io.Copy 将每个音频文件的数据写入输出文件。\n\n请确保将代码中的 files 替换为实际的音频文件名,并根据需要替换输出文件的名称。执行代码后,将生成一个包含所有音频文件数据的输出文件 output.wav。
原文地址: http://www.cveoy.top/t/topic/pMmH 著作权归作者所有。请勿转载和采集!