1. MP3如何压缩
压缩mp3文件可以借助一些音频处理软件(有很多款,下面以格式工厂为例)。音频格式大小依次排列是midi<wma<mp3,越小的格式,失真率会越高,所以如无特殊要求,转为wma即可。
下面是具体步骤:
第一步,打开软件,在软件左侧选择wma转化选项。
2. 怎么压缩MP3音乐格式的大小
1、下载WinMP3Shrink1.1软件,将下载的文件解压,并打开WinMP3Shrink.EXE。
3. 把MP3的容量压缩小的方法
把MP3的歌曲的容量缩小(即文件缩小),需要借助软件来操作。
经常使用的软件有很多,推荐一款很流行的软件,名称是:GoldWave。
压缩方法:
1:在网络上搜索软件:GoldWave,并将其下载。
2:安装好后,打开显示以下界面:
最后,点击“保存”即可。
建议:多压缩几次,多保存几次,然后,找出文件,逐个测试试听,选择最理想的文件。
4. 怎样压缩MP3格式的文件
如果你的MP3文件过大,想要压缩的话,也可以轻松实现。只需要借助第三方软件就能实现了,下面分享一个操作步骤少,能快速实现音频压缩的方法给大家,希望能帮到你们哦!
借助工具:闪电音频格式转换器
方法步骤:
第一步、双击打开软件,在左侧选择“音频压缩”;
5. 如何将MP3文件的大小压缩
现在MP3的体积对手机来说是有点大,不过我们可以给MP3减肥来达到目的。
转化为“瘦小”的WMA格式
在同等音质的前提下,WMA格式音乐文件的体积比MP3格式小得多。如果将MP3音乐转换成WMA格式的话,就可以在手机中存放更多的音乐文件,不过需要你的手机支持WMA格式的文件哟^_^
利用《千千静听》就可以轻松实现上述转换要求。在《千千静听》主窗口中打开合适的MP3文件,在播放列表中选中文件(可多选),在其菜单中点击“转换格式”项,在弹出窗口(图1)的“输出格式”列表中选择“WMA编码器”,之后点击“配置”按钮,在“WMA”编码选项窗口中设置编码的格式,包括恒定比特率和基于质量的VBR格式,可以根据需要进行设定,点击“确定”按钮保存设置。
在“转换格式”窗口中的“目标文件夹”栏中点击“浏览”按钮,确定输出路径,其余的设置保持默认即可,最后点击“立即转换”按钮,在弹出的“正在转换格式”窗口中显示文件转换的进度。当然,《千千静听》可以同时转换多个文件,之后就可以得到所需的WMA格式文件了。
直接为MP3文件“瘦身”
从网上下载的MP3音乐,为了保证其有高质量的音质,在制作中往往使用了较低的压缩率。在保证音质的前提下,如果能将MP3文件直接进行压缩操作,可以在音乐格式不便的基础上,达到在手机上存放更多音乐文件的目的。
相比之下,MP3Resizer是一款MP3专用压缩器。下载地址:
http://download.cpcw.com
。在MP3Resizer主窗口(图2)的工具栏上点击“Add
Files”按钮,导入需要处理的MP3文件,在窗口右侧点击“Output
Folder”按钮,选择输出文件夹的路径。
在“Out
File
Format”面板的“Bitrate”列表中选择合适的比特率和采样频率的组合,范围从“32Kbit
11KHz”到“256Kbit
44KHz”,在保证音质的前提下,选择较低的比特率和采样频率的组合(例如“96Kbit
44KHz”),可以有效的减小MP3文件的体积。选择完成后,在“Total
Size”面板中可以直观预览全部文件在转换前后的体积变化情况。
为了避免在转换过程中出现占用资源过多的情况,在MP3Resizer中点击菜单“Settings”,在设置窗口的“General”面板的“Priority”列表中选择合适的优先级,包括“Normal”、“Below
Normal”、“Low”等。在“Output
File”面板的“Channel
Mode”列表中选择“Auto”项,在“Quality/Speed”中将滑块拖动到最右侧,这样可以得到更好的音质。之后点击“Resize!”按钮,即可压缩MP3文件的体积了。
6. 如何用java代码完成AMR格式到MP3格式的转换
真正的万能视频转换工具,扔掉那些所谓的什么白金大师吧!!!
绿色(安装到其他机器,拷过来也可以使用)!无插件!同济学子开发的免费软件,更新快!
MediaCoder是一个免费的通用音频/视频批量转码工具,它将众多来自开源社区的优秀音频视频编解码器和工具整合为一个通用的解决方案,它可以将音频、视频文件在各种格式之间进行转换。
特点聚焦:
直接、批量地在众多音频视频压缩格式和容器格式之间进行转换
无需安装任何媒体播放器或编码器
纯绿色软件,不在系统中注册任何组件
完全使用Win32
SDK开发,高效、紧凑,不依赖于任何中间层(如.NET,
JAVA等)
典型应用:
提高压缩率/减小文件尺寸
将无损音频或者高码率的有损音频转换转换为较低码率的有损音频,以便用便携式数字音乐播放设备欣赏
转换至可在各种设备(如手机、PDA、MP4播放器、VCD/DVD播放机)上播放的格式
提取视频文件中的音轨
保存CD/VCD/DVD
支持的输入格式:
MP3,
Ogg
Vorbis,
AAC,
AAC+/Parametric
Stereo,
AMR
NB/WB,
MusePack,
WMA,
RealAudio
FLAC,
WavPack,
Monkey's
Audio
(APE,
APL),
OptimFrog,
AAC
Lossless,
WMA
Lossless,
WAV
H.264,
Xvid,
DivX
4/5,
MPEG
1/2/4,
H.263,
3ivx,
RealVideo,
Windows
Media
Video
7/8/9,
DV
AVI,
MPEG/VOB,
Matroska,
MP4,
RealMedia,
ASF/WMV,
Quicktime
MOV,
OGM
CD,
VCD,
DVD,
CUE
Sheets
支持的输出格式:
MP3,
Ogg
Vorbis,
AAC,
AAC+/Parametric
Stereo,
AMR
NB/WB,
MusePack,
WMA
FLAC,
WavPack,
Monkey's
Audio
(APE,
APL),
OptimFrog,
WMA
Lossless,
WAV
H.264,
Xvid,
DivX
4/5,
MPEG
1/2/4,
H.263,
Flash
Video,
etc.
AVI,
MPEG/VOB,
Matroska,
MP4,
PMP
(PSP媒体播放器格式)
另外,虚机团上产品团购,超级便宜
7. 怎么把MP3文件压缩到最小
操作步骤如下。
我们可以利用酷狗音乐来实现这一功能,我们点击左侧的更多,选择格式转换。
8. mp3录音文件如何压缩成很小的文件
不管是什么格式的文件都一样,只要质量高了,那么文件就会比较大。因此,在进行传输的时候就比较耗时间,不过可以将音频适当进行压缩,让它的文件大小变小,这样就不会有这些苦恼了。那么下面就来跟大家说说怎么将音频文件压缩到合适大小,想要将MP3音频文件压缩变小的方法有多种,今天小编分享一种最简单的压缩音频的方法供大家参考。
推荐使用:闪电音频格式转换器
操作方法:
第一步、打开音频处理软件后,在左侧选择“音频压缩”选项;
9. java实现 mp3格式转换wav
/*
*实现录音机的功能
*/
packagecom.liuyun.MyRecord1;
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.io.*;
importjavax.sound.sampled.*;
importjava.lang.*;
{
//定义录音格式
AudioFormataf=null;
//定义目标数据行,可以从中读取音频数据,该TargetDataLine接口提供从目标数据行的缓冲区读取所捕获数据的方法。
TargetDataLinetd=null;
//定义源数据行,源数据行是可以写入数据的数据行。它充当其混频器的源。应用程序将音频字节写入源数据行,这样可处理字节缓冲并将它们传递给混频器。
SourceDataLinesd=null;
//定义字节数组输入输出流
ByteArrayInputStreams=null;
ByteArrayOutputStreambaos=null;
//定义音频输入流
AudioInputStreamais=null;
//定义停止录音的标志,来控制录音线程的运行
Booleanstopflag=false;
//记录开始录音的时间
longstartPlay;
//定义所需要的组件
JPaneljp1,jp2,jp3;
JLabeljl1=null;
JButtoncaptureBtn,stopBtn,playBtn,saveBtn;
publicstaticvoidmain(String[]args){
//创造一个实例
MyRecordmr=newMyRecord();
}
//构造函数
publicMyRecord()
{
//组件初始化
jp1=newJPanel();
jp2=newJPanel();
jp3=newJPanel();
//定义字体
FontmyFont=newFont("华文新魏",Font.BOLD,30);
jl1=newJLabel("录音机功能的实现");
jl1.setFont(myFont);
jp1.add(jl1);
captureBtn=newJButton("开始录音");
//对开始录音按钮进行注册监听
captureBtn.addActionListener(this);
captureBtn.setActionCommand("captureBtn");
//对停止录音进行注册监听
stopBtn=newJButton("停止录音");
stopBtn.addActionListener(this);
stopBtn.setActionCommand("stopBtn");
//对播放录音进行注册监听
playBtn=newJButton("播放录音");
playBtn.addActionListener(this);
playBtn.setActionCommand("playBtn");
//对保存录音进行注册监听
saveBtn=newJButton("保存录音");
saveBtn.addActionListener(this);
saveBtn.setActionCommand("saveBtn");
this.add(jp1,BorderLayout.NORTH);
this.add(jp2,BorderLayout.CENTER);
this.add(jp3,BorderLayout.SOUTH);
jp3.setLayout(null);
jp3.setLayout(newGridLayout(1,4,10,10));
jp3.add(captureBtn);
jp3.add(stopBtn);
jp3.add(playBtn);
jp3.add(saveBtn);
//设置按钮的属性
captureBtn.setEnabled(true);
stopBtn.setEnabled(false);
playBtn.setEnabled(false);
saveBtn.setEnabled(false);
//设置窗口的属性
this.setSize(400,300);
this.setTitle("录音机");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
if(e.getActionCommand().equals("captureBtn"))
{
//点击开始录音按钮后的动作
//停止按钮可以启动
captureBtn.setEnabled(false);
stopBtn.setEnabled(true);
playBtn.setEnabled(false);
saveBtn.setEnabled(false);
//调用录音的方法
capture();
//记录开始录音的时间
startPlay=System.currentTimeMillis();
}elseif(e.getActionCommand().equals("stopBtn")){
//点击停止录音按钮的动作
captureBtn.setEnabled(true);
stopBtn.setEnabled(false);
playBtn.setEnabled(true);
saveBtn.setEnabled(true);
//调用停止录音的方法
stop();
//记录停止录音的时间
longstopPlay=System.currentTimeMillis();
//输出录音的时间
System.out.println("Playcontinues"+(stopPlay-startPlay));
}elseif(e.getActionCommand().equals("playBtn"))
{
//调用播放录音的方法
play();
}elseif(e.getActionCommand().equals("saveBtn"))
{
//调用保存录音的方法
save();
}
}
//开始录音
publicvoidcapture()
{
try{
//af为AudioFormat也就是音频格式
af=getAudioFormat();
DataLine.Infoinfo=newDataLine.Info(TargetDataLine.class,af);
td=(TargetDataLine)(AudioSystem.getLine(info));
//打开具有指定格式的行,这样可使行获得所有所需的系统资源并变得可操作。
td.open(af);
//允许某一数据行执行数据I/O
td.start();
//创建播放录音的线程
Recordrecord=newRecord();
Threadt1=newThread(record);
t1.start();
}catch(LineUnavailableExceptionex){
ex.printStackTrace();
return;
}
}
//停止录音
publicvoidstop()
{
stopflag=true;
}
//播放录音
publicvoidplay()
{
//将baos中的数据转换为字节数据
byteaudioData[]=baos.toByteArray();
//转换为输入流
s=newByteArrayInputStream(audioData);
af=getAudioFormat();
ais=newAudioInputStream(s,af,audioData.length/af.getFrameSize());
try{
DataLine.InfodataLineInfo=newDataLine.Info(SourceDataLine.class,af);
sd=(SourceDataLine)AudioSystem.getLine(dataLineInfo);
sd.open(af);
sd.start();
//创建播放进程
Playpy=newPlay();
Threadt2=newThread(py);
t2.start();
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
//关闭流
if(ais!=null)
{
ais.close();
}
if(s!=null)
{
s.close();
}
if(baos!=null)
{
baos.close();
}
}catch(Exceptione){
e.printStackTrace();
}
}
}
//保存录音
publicvoidsave()
{
//取得录音输入流
af=getAudioFormat();
byteaudioData[]=baos.toByteArray();
s=newByteArrayInputStream(audioData);
ais=newAudioInputStream(s,af,audioData.length/af.getFrameSize());
//定义最终保存的文件名
Filefile=null;
//写入文件
try{
//以当前的时间命名录音的名字
//将录音的文件存放到F盘下语音文件夹下
FilefilePath=newFile("F:/语音文件");
if(!filePath.exists())
{//如果文件不存在,则创建该目录
filePath.mkdir();
}
longtime=System.currentTimeMillis();
file=newFile(filePath+"/"+time+".wav");
AudioSystem.write(ais,AudioFileFormat.Type.WAVE,file);
//将录音产生的wav文件转换为容量较小的mp3格式
//定义产生后文件名
StringtarFileName=time+".mp3";
Runtimerun=null;
try{
run=Runtime.getRuntime();
longstart=System.currentTimeMillis();
//调用解码器来将wav文件转换为mp3文件
<strong><spanstyle="color:#ff0000;">Processp=run.exec(filePath+"/"+"lame-b16"+filePath+"/"+file.getName()+""+filePath+"/"+tarFileName);//16为码率,可自行修改
</span></strong>//释放进程
p.getOutputStream().close();
p.getInputStream().close();
p.getErrorStream().close();
p.waitFor();
longend=System.currentTimeMillis();
System.out.println("convertneedcosts:"+(end-start)+"ms");
//删除无用的wav文件
if(file.exists())
{
file.delete();
}
}catch(Exceptione){
e.printStackTrace();
}finally{
//最后都要执行的语句
//run调用lame解码器最后释放内存
run.freeMemory();
}
}catch(Exceptione){
e.printStackTrace();
}finally{
//关闭流
try{
if(s!=null)
{
s.close();
}
if(ais!=null)
{
ais.close();
}
}catch(Exceptione){
e.printStackTrace();
}
}
}
//设置AudioFormat的参数
()
{
//下面注释部分是另外一种音频格式,两者都可以
AudioFormat.Encodingencoding=AudioFormat.Encoding.
PCM_SIGNED;
floatrate=8000f;
intsampleSize=16;
StringsignedString="signed";
booleanbigEndian=true;
intchannels=1;
returnnewAudioFormat(encoding,rate,sampleSize,channels,
(sampleSize/8)*channels,rate,bigEndian);
////采样率是每秒播放和录制的样本数
//floatsampleRate=16000.0F;
////采样率8000,11025,16000,22050,44100
////sampleSizeInBits表示每个具有此格式的声音样本中的位数
//intsampleSizeInBits=16;
////8,16
//intchannels=1;
////单声道为1,立体声为2
//booleansigned=true;
////true,false
//booleanbigEndian=true;
////true,false
//returnnewAudioFormat(sampleRate,sampleSizeInBits,channels,signed,bigEndian);
}
//录音类,因为要用到MyRecord类中的变量,所以将其做成内部类
classRecordimplementsRunnable
{
//定义存放录音的字节数组,作为缓冲区
bytebts[]=newbyte[10000];
//将字节数组包装到流里,最终存入到baos中
//重写run函数
publicvoidrun(){
baos=newByteArrayOutputStream();
try{
stopflag=false;
while(stopflag!=true)
{
//当停止录音没按下时,该线程一直执行
//从数据行的输入缓冲区读取音频数据。
//要读取bts.length长度的字节,cnt是实际读取的字节数
intcnt=td.read(bts,0,bts.length);
if(cnt>0)
{
baos.write(bts,0,cnt);
}
}
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
//关闭打开的字节数组流
if(baos!=null)
{
baos.close();
}
}catch(IOExceptione){
e.printStackTrace();
}finally{
td.drain();
td.close();
}
}
}
}
//播放类,同样也做成内部类
classPlayimplementsRunnable
{
//播放baos中的数据即可
publicvoidrun(){
bytebts[]=newbyte[10000];
try{
intcnt;
//读取数据到缓存数据
while((cnt=ais.read(bts,0,bts.length))!=-1)
{
if(cnt>0)
{
//写入缓存数据
//将音频数据写入到混频器
sd.write(bts,0,cnt);
}
}
}catch(Exceptione){
e.printStackTrace();
}finally{
sd.drain();
sd.close();
}
}
}
}