zoukankan      html  css  js  c++  java
  • golang实现wav文件转换为mp3文件

      本文并非golang内置的库进行wav转mp3,而是通过golang调用Linux的lame命令进行转换。

      在Linux环境下,默认情况是没有安装lame,所以首先需要安装lame(个人保存下载文件:http://www.linuxfromscratch.org/blfs/view/stable/multimedia/lame.html)。

      Linux lame 安装及使用:
      1. 解压lame压缩文件:tar -vzxf lame-3.**.*.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         return
    17     }
    18     // wav转mp3成功后,如有必要则可删除wav原文件
    19     os.Remove(wav_file)
    20 }
    21 
    22 // 成功的将 wav 文件转换了 mp3 文件
    23 // 原 wav 文件大小:97.70KB
    24 // 转换后 mp3 文件大小:9.79KB
    // 反过来将mp3转为wav的linux命令:mpg123 -w 123.wav 123.mp3
  • 相关阅读:
    Beyond Compare 4 过期操作
    python2 批量转 python3
    【JavaScript】为什么javascript是单线程
    Java之花样玩枚举
    OpenSSL
    OpenSSL和OpenSSH以及私有CA的实现
    Python-线程同步
    Zookeeper基础
    pycharm中使用git以及多分支结构
    BZOJ 4771 主席树+倍增+set
  • 原文地址:https://www.cnblogs.com/hezhixiong/p/4635603.html
Copyright © 2011-2022 走看看