Amr音频转换Mp3格式

最近研发部门有一个需求andriod手机端的音频格式amr或wav格式的音频文件需要统一在线转换,为了保证快速并行完成我使用的goroutine和chan,我已经封装好了docker镜像,大家有兴趣的可以下载直接使用:

docker pull docker.io/liyinda/alpine_amrtomp3

github地址如下:

https://github.com/liyinda/AmrToMp3

部分逻辑代码如下:

  //将filelist的文件列表传入ch管道
  ch :=make(chan string)

  //创建goroutine获取文件列表并将列表传递给管道另一端进行音频转换
  go func(mine []os.FileInfo) {
    for _, item := range mine {
      ch <- item.Name()
    }
  }(filelist)

  go func() {
    for i :=0; i<= cpuNum; i++ {
      file := <-ch

      //获取文件的内容
      wfilepath := WORKDIR + file
      bfilepath := BAKDIR + today + "/" + file
      pfilepath := PRODUCTDIR + today + "/" + file

      var rs bool
      var fileExt string
      //获取文件名后缀
      fileExt = path.Ext(file)
      newfilepath := ""
      audiofilepath := ""

      //操作日志记录
      logFile, logErr := os.OpenFile(*logFileName, os.O_CREATE|os.O_RDWR|os.O_APPEND, 0666)
      if logErr != nil {
        fmt.Println("Fail to find", *logFile, "AmrToMp3 start Failed")
        os.Exit(1)
      }
      defer logFile.Close()
      log.SetOutput(logFile)
      log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)

      switch {
        case fileExt == ".amr" :
          //进行amr到mp3的转换
          newfilepath = strings.Replace(wfilepath, ".amr", ".mp3", -1)
          comeAndTo := [...]string{wfilepath, newfilepath}
          rs = models.Arm2mp3(comeAndTo)
          log.Printf("%v Amr format conversion success \n", newfilepath)
        case fileExt == ".wav" :
          //进行wav到mp3的转换
          newfilepath = strings.Replace(wfilepath, ".wav", ".mp3", -1)
          comeAndTo := [...]string{wfilepath, newfilepath}
          rs = models.Arm2mp3(comeAndTo)
          log.Printf("%v Wav format conversion success \n", newfilepath)
        default:
          //os.Remove(wfilepath)
          os.Rename(wfilepath, bfilepath)
          log.Printf("%v conversion fail and backup \n", bfilepath)
      }

      if rs {
        //转换成功之后,将原始文件移动到备份目录
        os.Rename(wfilepath, bfilepath)
        //生产mp3文件路径
        audiofilepath = strings.Replace(pfilepath, ".amr", ".mp3", -1)
        //转换成功之后,将生成文件移动到生产目录
        os.Rename(newfilepath, audiofilepath)
      }
    }
  }()

原文地址:http://blog.51cto.com/liyinda/2348098

时间: 2024-11-29 08:31:00

Amr音频转换Mp3格式的相关文章

腾讯视频如何转换mp3格式教程

搜索一下"小白兔视频格式在线转换"就可以. 腾讯视频如何转换mp3格式教程上传视频. 腾讯视频如何转换mp3格式教程 转换好后,把转换的MP3下载到电脑里,就可以看到已经是MP3格式了 腾讯视频如何转换mp3格式教程 原文地址:https://blog.51cto.com/14204019/2410347

ffmpeg sox 音频转换 MP3 转 wav

转自:https://blog.csdn.net/xiaoshulf/article/details/78657172 1 windows 下 mp3 文件和 wav 文件的 转换 实现代码: 1 ffmpeg -i 20171016test.mp3 -f wav "201710160test.wav" 2 windows 下 wav/mp3 文件的切分 实现代码: 1 ffmpeg -i forsegment.wav -f segment -segment_time 30 -c co

怎么把歌曲的格式改成mp3格式?

下载了不同的音频格式之后,大家首先想到就是找到一款专业的音频转换器来进行呢?其实今天小编想告诉你们的是收费的和不收费的工具,我都已经尝试过了,但是这些工具对于一些新手来说是可望而不可即的,如果想要符合大众用户的需求的话,我们需要一款简单快捷的工具来完成,这样既节省了大量的时候也节省了不少的烦心事,歌曲转换是现在社会的必需品,如果大家有这方便的要求的话,就可以继续接着往下看了. 软件介绍: 迅捷音频转换器是一款多功能的音频编辑处理软件,软件具有功能齐全,操作简单等特点,支持音频剪切.音频提取.音频

PHP 将amr音频文件转换为mp3格式

说下整体思路 1.服务器安装ffmpeg 2.使用ffmpeg -i 指令来转换amr为mp3格式(这个到时候写在PHP代码中,使用exec函数执行即可) 3.在网页端使用HTML5的audio标签来播放mp3文件 下面是操作细节: 一.服务器安装ffmpeg以cenos为例 此处参考:http://my.oschina.NET/ethan09/blog/372435 需要特别注意的是,在下面的方法中,amrnb和amrwb的安装到make环节会请求3gp的一个网址,一般是请求不到的,可以用cr

.net 音频转换 .amr 转 .mp3 (ffmpeg转换法)

最近看来是跟声音干上了啊! 音频转换的第二种方法,这种方法相对第一种来说,要简单的多! 首先,你得下载个“ffmpeg.exe” 插件,然后把它放到你的项目中,如下图: 程序中会调用该文件,以助于转换音频格式! 上代码: using System; using System.Threading; using System.IO; using System.Diagnostics; using System.Security; public partial class cowala_201512C

.net 音频转换 .amr 转 .mp3 (方法一)

.amr 用于移动设备的音频,压缩比比较大,多用于人声.通话,效果还行!所以,移动设备多采用amr格式来进行储存录!比较常见的例子:微信录音! 这个鬼,用两个字来形容,就是“蛋疼”:因为HTML5压根就不支持它(amr:我是个<孤儿> ,导演:佐米·希尔拉):所以,试听效果也就很难实现了!虽然微信是提供试听的,但一旦离开了页面,那就意味着,你再也无法播放你的录音了! 所以你不得不将文件转换下格式! 目前,小编掌握的转换格式的方法有两种:一是上传到七牛云服务进行转换下载:二是通过ffmpeg 应

怎样将M4A音频格式转换成MP3格式

因为MP3音频格式应用的广泛性,所以很多时候我们都需要将不同的音频格式转换成MP3格式的,那么如果我们需要将M4A音频格式转换成MP3格式,我们应该怎样进行实现呢?下面我们就一起来看一下吧. 操作步骤: 步骤一:先在电脑上准备好需要进行转换的M4A音频文件,因为音频文件的转换我们需要通过电脑来进行实现. 步骤二:音频文件准备好后,我们就可以通过电脑浏览器搜索迅捷PDF在线转换器,来帮助我们对音频文件进行转换了. 步骤三:进入到在线转换器页面后,在页面上方有一排的功能选项导航,我们需要从音视频转换

音频转换成mp3格式的步骤

现在的音乐格式的格式可以说非常的多,一般我们在上网的时候是直接在在线听歌曲的,但是随着人们对音乐的热爱,大家就会在一些不同场合时间段来听一些美妙的曲子,所以就需要在自己的手机上面下载歌曲,因为我们的手机只支持MP3格式,所以就需要将音频转换成通用格式,目前可以转换的工具还是比较多的,但是这款工具可就非常好了,通过使用它我们就可以来转换不同的格式了,快来和小编一起看看吧. 工具介绍: 迅捷音频转换器它是一款多功能的音频编辑处理软件,软件具有音频剪切.音频提取.音频合并和音频转换这四个功能,这款工具

java利用ffmpeg将amr、caf转mp3格式

最近再做一个项目,要将手机APP上的文件上传到服务器上来,包括图片.声音.视频文件.起初只有Android版,大家知道,Android的录音格式amr,在电脑上播放不出来,必须转码.因为之前只有Android版的,所以就用jave给方便的解决了.但是后来又增加了iPhone版,传上来的录音格式是caf.jave虽然支持几十种音视频格式,但是却支持不了这个caf格式.后来也尝试了lame,也是不行.网上的资料绝大部分是说在iPhone手机上转的,可是我要在服务器上转.搞了一个星期,没有一点进展.后