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; } }
请下载代码后再发表评论
文件名: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
- /ceshi/src
- /ceshi/src/util
- /ceshi


