写在前面

Java音频视频编码器,本文实例将任何音频格式转换为MP3格式

您还可以调整音频频大小,更改其大小和比例等

本文实例实用于任何window,macos,linux操作系统

使用此项目只需要,导入jar包,简单易操作.参数只有两个:

①一个File类型的source对象:

//File source = new File("C:\\Users\\source.m4a");
         File source = new File("file path source");

②一个File类型target对象,
         // File target = new File("C:\\Users\\target.mp3");
         File target = new File("file path target");

Example

完整jar项目,及更多demo下载地址:https://download.csdn.net/download/weixin_39842528/10616527

public class ConvertingAnyAudioToMp3_Example{ //测试demo|//使用此jar只需要,源文件路径和要生成目标文件的路径public static void main(String[] args) {ConvertingAnyAudioToMp3_Example  cAATM  =  new ConvertingAnyAudioToMp3_Example();//C:\\Users\\source.m4aFile source = new File("file path source");//C:\\Users\\target.mp3File target = new File("file path target");boolean b = cAATM .ConvertingAnyAudioToMp3WithAProgressListener(source,target);System.out.println(b);}//以下代码不用改动,直接使用/*** 第一个参数source表示要解码的源文件。* * 第二个参数target是将要创建和编码的目标文件。* * * 请注意,此方法是阻塞的:只有在转码操作完成(或失败)后,该方法才会返回* * @return boolean*/public boolean ConvertingAnyAudioToMp3WithAProgressListener(java.io.File source, java.io.File target) {ConvertProgressListener listener = new ConvertProgressListener();boolean succeeded = true;try {/** 自定义 TODO* */
//            File source = new File("file path source");/** 自定义 TODO* */
//            File target = new File("file path target");// Audio Attributes/音频编码属性AudioAttributes audio = new AudioAttributes();/** 它设置将用于音频流转码的编解码器的名称。您必须从当前Encoder实例的getAudioEncoders()方法返回的列表中选择一个值。否则,* 您可以传递AudioAttributes.DIRECT_STREAM_COPY特殊值,该值需要源文件中原始音频流的副本。*/audio.setCodec("libmp3lame");/** 它设置新重新编码的音频流的比特率值。如果未设置比特率值,编码器将选择默认值。该值应以每秒位数表示。例如,如果你想要128 kb /* s比特率,你应该调用setBitRate(new Integer(128000))。*/audio.setBitRate(128000);/* 它设置将在重新编码的音频流中使用的音频通道的数量(1 =单声道,2 =立体声)。如果未设置通道值,编码器将选择默认值。 */audio.setChannels(2);/** 它设置新重新编码的音频流的采样率。如果未设置采样率值,编码器将选择默认值。该值应以赫兹表示。例如,如果您想要类似CD的44100* Hz采样率,则应调用setSamplingRate(new Integer(44100))。*/audio.setSamplingRate(44100);/* 可以调用此方法来改变音频流的音量。值256表示没有音量变化。因此,小于256的值是音量减小,而大于256的值将增加音频流的音量。 */audio.setVolume(new Integer(256));// Encoding attributes/编码属性EncodingAttributes attrs = new EncodingAttributes();/** 它设置将用于新编码文件的流容器的格式。给定参数表示格式名称。* 编码格式名称有效且仅在它出现在正在使用的Encoder实例的getSupportedEncodingFormats()方法返回的列表中时才受支持。*/attrs.setFormat("mp3");/* 它设置音频编码属性。如果从未调用过新的EncodingAttributes实例,或者给定参数为null,则编码文件中不会包含任何音频流 */attrs.setAudioAttributes(audio);/** 它为转码操作设置偏移量。源文件将从其开始的偏移秒开始重新编码。例如,如果您想剪切源文件的前五秒,* 则应在传递给编码器的EncodingAttributes对象上调用setOffset(5)。*/// attrs.setOffset(5F);/** 它设置转码操作的持续时间。只有源的持续时间秒才会在目标文件中重新编码。例如,如果您想从源中提取和转码30秒的一部分,* 则应在传递给编码器的EncodingAttributes对象上调用setDuration(30)*/// attrs.setDuration(30F);// Encode/编码Encoder encoder = new Encoder();encoder.encode(new MultimediaObject(source), target, attrs, listener);} catch (Exception ex) {ex.printStackTrace();succeeded = false;}return succeeded;}public class ConvertProgressListener implements EncoderProgressListener {/*编码器在分析源文件后调用此方法。该信息参数是实例 ws.schild.jave.MultimediaInfo类,它代表了有关源音频和视频流及其容器的信息。*/public void sourceInfo(MultimediaInfo info) {// TODO Auto-generated method stub}/*每次完成编码操作的进度时,编码器调用该方法。所述permil参数是表示通过当前操作到达点的值和它的范围是从0(操作刚开始)到1000(操作完成)*/public void progress(int permil) {double progress = permil / 1000.00;                                    System.out.println(progress); }/* 编码器调用该方法以通知关于代码转换操作的消息(通常消息是警告)。 */public void message(String message) {// TODO Auto-generated method stub}}
}

java任意音频格式转换MP3格式相关推荐

  1. flac格式转换mp3格式_MP3,FLAC和其他音频格式之间有什么区别?

    flac格式转换mp3格式 Digital audio has been around a very long time so there's bound to be a plethora of au ...

  2. 怎么把音频怎么转换mp3格式

    怎么把音频怎么转换mp3格式?音乐作为大家常用的休闲娱乐方式,也就决定了很多小伙伴经常接触音频文件,在接触音频文件的时候,你就会发现音频文件的格式是不尽相同的,而为了保证音频文件的使用,通常我们会把类 ...

  3. 电脑音频转换mp3格式怎么弄,教你音频怎么转换mp3格式

    mp3格式是目前几乎全兼容的格式了,在我们参加一些会议或讲座时,需要录制一些重要的信息,结束后再进行复盘或分享.然而,不同的录制工具录制的音频格式也不同,这时使用软件将音频统一成mp3格式的话,就会方 ...

  4. wma音频怎么转换mp3格式

    常见的音频格式,一般我们见过的都是MP3音频格式来的.而现在给你介绍的wma转换mp3格式中,wma音频格式是Windows Media Audio,是微软力推的一种音频格式.WMA格式是以减少数据流 ...

  5. 小白教程!x2m和x3m音频格式转换.mp3格式

    如果你下载的喜马拉雅文件是一个.x2m或.x3m格式文件的,这种格式是经过加密处理的,正常情况下是无法进行格式转换的,不过这里也不是完全没有办法,今天就教你一个比较简单的x2m和x3m格式转换方法. ...

  6. 音频转换器怎么将ogg转换mp3格式

    一遇到ogg这种格式有些宝宝们就开始慌了,在网上下载了这种格式的音频之后,在手机里无法播放,真的是很气人,生活中也就算了,如果是在工作中,岂不是要被老板骂的狗血淋头,想要快速将ogg格式转换MP3格式 ...

  7. 如何将wma格式转换mp3?

    如何将wma格式转换mp3?很多人很疑惑wma,它其实就是音频文件中的一种格式,因为它没有像mp3格式那么好的兼容性,所以一般我们下载到wma格式的音频文件,都需要进行一个Mp3 的格式转换,以达到正 ...

  8. AAC转换MP3格式最简单的方法是什么

    大家都遇到过这样的问题,我们下载完一个视频或者是音乐的时候,就会扑面迎来很多的问题,比如说我们想打开下载的文件的时候,大家却发现无法打开,或者是设备不允许,这个时候才会去想到格式不通过的问题,音频格式 ...

  9. 怎么把amr格式转换为mp3格式?

    怎么把amr格式转换为mp3格式?amr是什么?今天简单直接点讲amr也是音频文件的一种不常见格式.因为兼容性的原因,所以你如果下载到了以amr为后缀的音频,打开往往是播放不了的,这个时候也很简单,我 ...

最新文章

  1. 学习笔记---取得枚举项的2种方法: Enum.GetValues()-Array.GetValue()和Enum.GetNames()-Enum.Parse()...
  2. 智能车竞赛技术报告 | 智能视觉组 - 大连海事大学 - 菜鸡啄米
  3. bio和bieos哪个标注模式好_阿里巴巴和亚马逊电商模式差异?哪个电商好做
  4. 太阳能发电板的规格尺寸_新疆深山藏着一个村庄,至今未通水电,村民买太阳能板自行发电...
  5. log nginx 客户端请求大小_nginx log记录请求响应时间
  6. 史上最详细Vue-CLI脚手架快速创建Vue项目教程
  7. ubuntu mysql 5.7 远程_ubuntu16.0.4安装mysql5.7以及设置远程访问
  8. 如何在其他类中使用application.properties的属性
  9. Yii 关于AR分表
  10. python property方法_高效 Python 代码 —— 属性与 @property 方法
  11. php js的视频教程,【JS视频教程推荐】2021年最值得推荐的5个JavaScript视频教程
  12. 关于在windows上首次编译运行pbrt-3
  13. 软件工程学硕考研经验分享
  14. Android Tombstone/Crash的log分析和定位(墓碑文件)
  15. TypeError: empty() received an invalid combination of arguments 报错
  16. 推荐给计算机专业教师读的书
  17. Github Actions实现自定义编译OpenWRT固件和第三方插件
  18. 李沐-动手学习深度学习v2
  19. 惠普暗影精灵4pro安装ubuntu16.04
  20. nonnegative matrix factorization (NMF)的R实现

热门文章

  1. 基于 STM32 和 NB-IoT 的可穿戴式老人防摔监测系统
  2. Linux---Apache网页优化---网页压缩
  3. AIRCHECK G2 v5 新版本-AirMapper APP发布
  4. 基于ROS1.0的stdr simulation搭建多移动机器人(multiple robots)仿真系统
  5. c语言产生50以内随机数,C语言产生随机数
  6. 小心肝队-冲刺日志(第十天)
  7. 3-8SQL注入网站实际案例第四步:第三者上位点测试与利用
  8. PG学习笔记(1)—— 主从复制:流复制
  9. ROS机器人(一) -- 环境搭建
  10. 红日安全 ATT&CK VulnStack靶场(三)