qinchen的gravatar头像
qinchen 2019-04-11 17:04:42

Java mp3文件转pcm文件

Java mp3文件转pcm文件

package cn.zpy.util;



import java.io.File;

import java.io.IOException;



import javax.sound.sampled.AudioFileFormat;

import javax.sound.sampled.AudioFormat;

import javax.sound.sampled.AudioInputStream;

import javax.sound.sampled.AudioSystem;



import javazoom.spi.mpeg.sampled.file.MpegAudioFileReader;



/**

 * 音频转换工具类

 *

 */

public class AudioUtils {

/**

* MP3转换PCM文件方法

* 

* @param mp3filepath 原始文件路径

* @param pcmfilepath 转换文件的保存路径

* @return 

* @throws Exception

*/

public static boolean convertMP32Pcm(String mp3filepath, String pcmfilepath){

try {

//获取文件的音频流,pcm的格式

AudioInputStream audioInputStream = getPcmAudioInputStream(mp3filepath);

//将音频转化为  pcm的格式保存下来

AudioSystem.write(audioInputStream, AudioFileFormat.Type.WAVE, new File(pcmfilepath));

return true;

} catch (IOException e) {

e.printStackTrace();

return false;

}

}

/**

* 机能概要:获取文件的音频流

* @param mp3filepath

* @return

*/

private static AudioInputStream getPcmAudioInputStream(String mp3filepath) {

File mp3 = new File(mp3filepath);

AudioInputStream audioInputStream = null;

AudioFormat targetFormat = null;

try {

AudioInputStream in = null;



//读取音频文件的类

MpegAudioFileReader mp = new MpegAudioFileReader();

in = mp.getAudioInputStream(mp3);

AudioFormat baseFormat = in.getFormat();



//设定输出格式为pcm格式的音频文件

targetFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), 16,

baseFormat.getChannels(), baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false);



//输出到音频

audioInputStream = AudioSystem.getAudioInputStream(targetFormat, in);

} catch (Exception e) {

e.printStackTrace();

}

return audioInputStream;

}

}

Java mp3文件转pcm文件


打赏

文件名:ceshi.zip,文件大小:281.023K 下载
  • /
      • /ceshi
        • /ceshi/.classpath
        • /ceshi/.project
          • /ceshi/.settings
            • /ceshi/.settings/.jsdtscope
            • /ceshi/.settings/org.eclipse.jdt.core.prefs
            • /ceshi/.settings/org.eclipse.wst.common.component
            • /ceshi/.settings/org.eclipse.wst.common.project.facet.core.xml
            • /ceshi/.settings/org.eclipse.wst.jsdt.ui.superType.container
            • /ceshi/.settings/org.eclipse.wst.jsdt.ui.superType.name
最代码相关代码源代码列表相关代码
最代码最近下载分享源代码列表最近下载
最代码最近浏览分享源代码列表最近浏览
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友