這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
本文並非golang內建的庫進行wav轉mp3,而是通過golang調用Linux的lame命令進行轉換。
在Linux環境下,預設情況是沒有安裝lame,所以首先需要安裝lame(個人儲存下載檔案:http://pan.baidu.com/s/1qWp71G4#path=%252Fsharesoft%252Flinux%252Flame)。
Linux lame 安裝及使用:
1. 解壓lame壓縮檔:tar -vzxf lame-3.98.4.tar.gz
2. 轉到解壓後的檔案目錄,依次執行:“./configure --enable-shared”,“make”,“make install”
3. lame使用方法:lame xxx.wav xxx.mp3 (這樣就能把xxx.wav檔案轉換為xxx.mp3檔案)
接下來將通過golang調用Linux的lame命令來實現wav轉mp3。
1 package main 2 3 import ( 4 "log" 5 "os" 6 "os/exec" 7 ) 8 9 func main() {10 wav_file := "/root/input.wav" // 需要轉換的wav檔案11 mp3_file := "/root/output.mp3" // 轉換後mp3檔案存放路徑12 cmd := exec.Command("lame", wav_file, mp3_file)13 err := cmd.Run()14 if err != nil {15 log.Fatal("Convert wav to mp3 error. ", err)16 return17 }18 // wav轉mp3成功後,如有必要則可刪除wav原檔案19 os.Remove(wav_file)20 }21 22 // 成功的將 wav 檔案轉換了 mp3 檔案23 // 原 wav 檔案大小:97.70KB24 // 轉換後 mp3 檔案大小:9.79KB