zoukankan      html  css  js  c++  java
  • Atitit java wav 压缩 mp3功能总结 目录 1.1. Lame mp3编码器 1 1.2. 使用时发现错误,不支持Unsupported number of channels: 4

    Atitit  java wav 压缩 mp3功能总结

     

    目录

    1.1. Lame mp3编码器 1

    1.2. 使用时发现错误,不支持Unsupported number of channels: 4d 3

    1.3. 放弃lame,使用ffmpeg ok 3

    1.4. Java源码 4

     

     

      1. Lame mp3编码器

     

    的任务就是实现音频压缩了,搜了几天,找到了一个不错的软件Monkey Audio(实现说明,我们的项目得全是代码实现的),这个软件的开源的,但是在官网下载的源代码经过我们一个下午的测试,竟然跟最新软件的压缩差的很远,于是我们便尝试走其他的路,比如:音频格式转换也可以达到音频压缩的目的,于是便搜类似的东西,于是便找到了Lame解码器。

     

    百度百科普及:

     

    LAME 是最好的MP3编码器,编码高品质MP3的最好也是唯一的选择。LAME本身是DOS下的文件,需要加外壳程序才比较容易使用,也可以在别的软件(比如EAC)中间调用。是一款出色的MP3压缩程序,它使用了独创的人体听音心理学模型和声学模型,改变了人们对MP3高音发哑、低音发破的音质的印象。

     

    然后我就通过代码在程序调用这个解码器,实现了最后的音频格式转换,当然也达到的压缩的目地,并且经过大量的测试,效果非常不错,并没有损坏音频,同时压缩比很高。

    ---------------------

    事先说明:Lame.exe文件必须得有,并且在程序调用的时候,如果没在java的src同一个文件夹下的话,必须在程序中使用绝对路径,否则报错。

     

    LAME是一个非常著名的HIFI级mp3制作工具,可以说是MP3历史上革命性的东西。MP3最受争议的就是音质问题,其高频损失很大,很多mp3编码器粗糙的编码算法不但导致高频丢失,还丢失了许多细节,类似吉他擦弦的感觉在MP3中是找不到的。 在对MP3快要失望时,Lame从天而降,我抱着怀疑的态度试用了她,结果令人惊讶不已,立刻删除硬盘上所有的MP3和其他编码器,全部用Lame重新来过。这个是Lame的最新版,有着不小的改进,你会在使用中发现。

     

     

    不用说,ffmpeg是一个太牛犇的视频处理库。但是在音频处理(转换)方面,确实让人捉急。有时还有依赖其他音频转换库。不过,这不会让我减少对它的膜拜之情。

     

    先上重头 wav转MP3

     

    0.转换wav到mp3:

     

    ffmepg -i input.wav -f mp3 -acodec libmp3lame -y output.mp3

     

    注:这需要在ffmpeg中加入libMP3lame库(如果研究过wav转MP3的童鞋,肯定见过它),但是,怎么把它加到ffmpeg中,我也母鸡啊,不懂c。

     

    所以,找到另一种中转的方法,就是MP2.尝试了,no问题。

     

    ffmepg -i input.wav -f mp2 output.mp3

    ---------------------

    作者:zrbcsdn

    来源:CSDN

    原文:https://blog.csdn.net/zrbcsdn/article/details/50460274

    版权声明:本文为博主原创文章,转载请附上博文链接!

     

      1. 使用时发现错误,不支持Unsupported number of channels: 4d

    D:\lame4.0a14\lame.exe -m m C:\Users\Administrator\Desktop\qq\1466519819\FileRecv\20181120院长讲酒会项目.wav    20181120院长讲酒会项目.mp3

     

    C:\Users\Administrator>D:\lame4.0a14\lame.exe -m m C:\Users\Administrator\

    LAME version 4.0 (alpha 14, Sep 25 2005 10:04:14) (http://www.mp3dev.org/)

     

    warning: alpha versions should be used for testing only

     

    Unsupported number of channels: 4d

     

      1. 放弃lame,使用ffmpeg ok

     

    D:\KMPlayer\ffmpeg.exe -i C:\Users\Administrator\Desktop\qq\1466519819\FileRecv\20181120院长讲酒会项目.wav    20181120院长讲酒会项目.mp3

     

    ffmpeg -i a.wav a.mp3

     

      1. Java源码

     

    package com.example.myFirstProject;

     

    import java.io.IOException;

     

    public class wav2mp3 {

     

    public static void main(String[] args) throws IOException {

    String p="C:\\Users\\Administrator\\Desktop\\qq\\1466519819\\FileRecv\\20181120院长讲酒会项目.wav";

     

    String exe="D:\\lame4.0a14\\lame.exe";

     

    String ffmpeg="D:\\KMPlayer\\ffmpeg.exe ";

     

     String command = ffmpeg +" -i  "+ p +"  d:\\20181120院长讲酒会项目.mp3";

     System.out.println(command);

    Process Process1=  Runtime.getRuntime().exec( command );

     System.out.println("==f");

     

    }

     

    }

     

  • 相关阅读:
    《ASP.NET Core 高性能系列》致敬伟大的.NET斗士甲骨文!
    ThreadLocal<T>的是否有设计问题
    从.NET和Java之争谈IT这个行业
    自建型呼叫中心
    托管型呼叫中心
    数字语音记录仪3.0
    模拟电话录音系统2.0
    easyui-combobox 下拉菜单 多选 multiple
    利用easyui-combotree实现 下拉菜单 多选功能(带多选框)
    eclipse项目导入 idea中
  • 原文地址:https://www.cnblogs.com/attilax/p/15197463.html
Copyright © 2011-2022 走看看