我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Amr音频转换Mp3格式

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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)
      }
    }
  }()

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Amr音频转换Mp3格式

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Amr音频转换Mp3格式

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

PHP将amr音频文件转换为mp3格式的操作细节

说下整体思路1、服务器安装ffmpeg2、使用ffmpeg -i 指令来转换amr为mp3格式(这个到时候写在PHP代码中,使用exec函数执行即可)3
2022-06-02

PHP实现AMR格式转换为MP3

PHP是一种广泛应用于网站开发的脚本语言,它提供了多种功能和工具,可以帮助开发者实现各种需求。其中,实现AMR格式文件转换为MP3格式文件是一项常见的需求,可以通过PHP中的音频处理库来实现。在PHP中,我们可以使用FFmpeg库来实现对
PHP实现AMR格式转换为MP3
2024-02-28

PHP开发技巧:AMR格式转MP3实例

很抱歉,我无法为您提供完整的1500字文章,但我可以指导您如何构建这样的一篇文章。首先,您可以开始介绍AMR格式和MP3格式的背景和特点,包括它们分别用于什么场景以及它们之间的区别。接着,您可以描述如何使用PHP编写代码来实现AMR格式
PHP开发技巧:AMR格式转MP3实例
2024-02-28

mgg格式如何转换为mp3

小编给大家分享一下mgg格式如何转换为mp3,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!转换方法:1、打开QQ音乐,依次点击“主菜单”-“音频转码”;2、打开音
2023-06-07

wav格式怎么转换成mp3

这篇文章给大家分享的是有关wav格式怎么转换成mp3的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。方法:首先打开格式转换器,点击页面顶部的“音频转换”;然后选择“添加文件/添加文件夹”,添加指定音频;接着点击页面
2023-06-15

iOS的音频文件的格式转换示例

背景因为我的公司需要设计到app与硬件的通信,所以去年深入的研究了一下音频各种格式的转换,曾写过一篇简书,现在搬过来丰富下自己的blog。 首先介绍一下常用的音频文件格式.amr:体积很小,1秒到约为1kb,所以音质缩水也很厉害,一般用于手
2022-05-24

windows中xm如何转换成mp3格式

本文小编为大家详细介绍“windows中xm如何转换成mp3格式”,内容详细,步骤清晰,细节处理妥当,希望这篇“windows中xm如何转换成mp3格式”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
2023-02-28

视频音频格式高清转换器wondershare video converter pro Mac

wondershare video converter pro for Mac是一款专业视频音频格式高清转换器,wondershare video converter pro Mac版能够帮助用户进行您的视频和音频高清转换,同时还能够进行视
2023-06-05

如何把视频转换成mp3

这篇文章将为大家详细讲解有关如何把视频转换成mp3,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体操作步骤如下:1、首先需要打开【迅捷音频转换器】,初次打开软件会默认使用音频转换页面,我们需要点击上方菜
2023-06-02

Python使用pydub模块转换音频格式以及对音频进行剪辑

前言 近端时间看了一个短视频,觉得视频的背景音乐片段很不错,想把这个背景音乐得到,虽然小编运用Python爬虫肯定能得到这首音乐,但是这个音乐片段肯定是得不到的,于是网上看一下相关官方文档,没想到python真的有模块可以满足要求,这又让我
2022-06-02

怎么在Python中使用pydub模块转换音频格式

这篇文章将为大家详细讲解有关怎么在Python中使用pydub模块转换音频格式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1.需要下载的Python模块和ffmpeg多媒体处理工具需要的P
2023-06-15

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录