Go言語とFFmpegを活用したオーディオフォーマット変換と結合
音声ファイルの変換と結合をGo言語とFFmpegで行うには、FFmpegをインストールし、コマンドラインから正常に動作することを確認する必要があります。次に、Go言語のos/execパッケージを使用してFFmpegコマンドを実行できます。
Golang と FFmpeg を使用したオーディオフォーマットの変換とマージの実行方法を以下に示します。
package main
import (
"fmt"
"log"
"os"
"os/exec"
)
func main() {
// 输入文件路径
inputFiles := []string{"input1.wav", "input2.wav"}
// 将所有输入文件合并为一个输出文件
outputFile := "output.wav"
// 转换音频格式为mp3
outputFormat := "mp3"
// 转换音频格式
convertCmd := exec.Command("ffmpeg", "-i", inputFile, "-f", outputFormat, outputFile)
err := convertCmd.Run()
if err != nil {
log.Fatal(err)
}
fmt.Println("音频格式转换完成:", outputFile)
// 合并多个音频文件
mergeCmd := exec.Command("ffmpeg", "-i", fmt.Sprintf("concat:%s", inputFileList), "-acodec", "copy", outputFile)
err = mergeCmd.Run()
if err != nil {
log.Fatal(err)
}
fmt.Println("音频文件合并完成:", outputFile)
}
このコードを実行する前に、入力ファイルを同じディレクトリに配置し、FFmpegがインストールされていることを確認してください。inputFiles、outputFile、outputFormatは、あなたの特定のニーズに合わせて変更してください。このコードは、os/execパッケージを使用してFFmpegコマンドを実行し、logパッケージを使用してエラーを処理します。
このコードを実行すると、最初は音声フォーマットの変換が行われ、変換済みの音声ファイルが統合されて1つの出力ファイルが作成されます。この出力ファイルのフォーマットと場所は、あなたの設定によって調整されます。
これにより、オーディオフォーマットの変換とマージが望む通りになることを期待しています。