从测试到开发掌握 ffmpeg安装 以及amr 转换MP3 并且播放

1:原理 调用ffmpeg 执行转换 即:先把amr 下载到服务器 调用 ffmpeg -i 转换生成MP3 文件 通过二进制流的形式 ajax点击播放异步转换并且生成流通过audio的src属性在web端播放,同时删除后台的amr 和mp3 文件,此功能是在后台cms 中实现,也可以独立部署转换。注意在本地开发时 不管是linux 系列 还是windows系列 一定要安装ffmpeg 工具
摘要由CSDN通过智能技术生成

1:原理 调用ffmpeg 执行转换

即:先把amr 下载到服务器 调用 ffmpeg -i    转换生成MP3 文件 通过二进制流的形式 
ajax点击播放异步转换并且生成流通过audio的src属性在web端播放,同时删除后台的amr和mp3文件,此功能是在后台cms 中实现,也可以独立部署转换。

注意:在本地开发时 不管是linux 系列 还是windows系列 一定要安装ffmpeg 工具 即通过控制台可以转换成功。

直接贴代码:

    public class AmrToMp3 {
              public static void main(String[] args){
                 AmrToMp3.convertToMp3(args[0], args[1]);
              }
              public static boolean convertToMp3(String amrFile, String mp3File)  {
                 Process process = null;
                 try{
                    File mp3 = new File(mp3File);
                    if(mp3.exists()){
                       mp3.delete();
                    }
                    process =Runtime.getRuntime().exec("ffmpeg -i " + amrFile + " " + mp3File);
                    process.waitFor();
                 }catch (Exception ex){
                 }finally {
                    process.destroy();
                 }
                 return false;
              }
            }
/**
    * amr 文件转换MP3
    *
    * @param url
    * @param req
    * @return
    */
    public static String amrSwitchToMp3(String url, HttpServletRequest req) {
       try {
           OSSObject oos = UploadImageUtils.getFile(url); //阿里存储 具体根据自己的需要
           if (oos == null) {
               return null;
           }
           InputStream fis = oos.getObjectContent();
           String filePath = "/";
           String filen = url.substring(url.lastIndexOf("/") + 1, url.length());
           filen = filen.replaceAll(".amr", "");
           String realPathDir = req.getSession().getServletContext()
                   .getRealPath(filePath);
           File saveFile = new File(realPathDir);
           if (!saveFile.exists())
               saveFile.mkdirs();
           /** 获取文件的后缀* */
           String suffixAmr = ".amr";
           String suffixMp3 = ".mp3";
           String srcNameEnd = filen + suffixAmr;// 构建文件名称
           String targetNameEnd = filen + suffixMp3;// 构建文件名称
           /** 拼成完整的文件保存路径加文件* */
           String srcName = realPathDir + srcNameEnd;
           String targetName = realPathDir + targetNameEnd;
           t
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值