mp3转为pcm工具

news/2024/11/16 9:23:35/

首选需要引入依赖:

<dependency><groupId>com.googlecode.soundlibs</groupId><artifactId>mp3spi</artifactId><version>1.9.5.4</version></dependency>

再导入以下工具类,就可以开始玩耍了

import java.io.File;
import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.SourceDataLine;
import javazoom.spi.mpeg.sampled.file.MpegAudioFileReader;
/*** MP3转PCM Java方式实现*/
public class ConvertMP32PCM {/*** MP3转换PCM文件方法* * @param mp3filepath*            原始文件路径* @param pcmfilepath*            转换文件的保存路径* @throws Exception*/public static void convertMP32PCM(String mp3filepath, String pcmfilepath) throws Exception {AudioInputStream audioInputStream = getPcmAudioInputStream(mp3filepath);AudioSystem.write(audioInputStream, AudioFileFormat.Type.WAVE, new File(pcmfilepath));}/*** 播放MP3方法* * @param mp3filepath* @throws Exception*/public static void playMP3(String mp3filepath) throws Exception {File mp3 = new File(mp3filepath);// 播放int k = 0, length = 8192;AudioInputStream audioInputStream = getPcmAudioInputStream(mp3filepath);if (audioInputStream == null)System.out.println("null audiostream");AudioFormat targetFormat;targetFormat = audioInputStream.getFormat();byte[] data = new byte[length];DataLine.Info dinfo = new DataLine.Info(SourceDataLine.class, targetFormat);SourceDataLine line = null;try {line = (SourceDataLine) AudioSystem.getLine(dinfo);line.open(targetFormat);line.start();int bytesRead = 0;byte[] buffer = new byte[length];while ((bytesRead = audioInputStream.read(buffer, 0, length)) != -1) {line.write(buffer, 0, bytesRead);}audioInputStream.close();line.stop();line.close();} catch (Exception ex) {ex.printStackTrace();System.out.println("audio problem " + ex);}}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();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;}//使用mp3输入流转为音频输入流private AudioInputStream getPcmAudioInputStream(InputStream mp3Stream) {AudioInputStream audioInputStream = null;AudioFormat targetFormat = null;try {AudioInputStream in = null;//读取音频文件的类MpegAudioFileReader mp = new MpegAudioFileReader();in = mp.getAudioInputStream(mp3Stream);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;}public static void main(String[] args) {String mp3filepath = "/home/bobxie/temp.mp3";String pcmfilepath = "/home/bobxie/temp.pcm";try {
//            ConvertMP32PCM.convertMP32PCM(mp3filepath, pcmfilepath);ConvertMP32PCM.playMP3(mp3filepath);} catch (Exception e) {e.printStackTrace();}}
}

http://www.ppmy.cn/news/363540.html

相关文章

html教程转换mp3,kgm转换mp3图文版教程,值得收藏

KGM格式是酷狗音乐开通VIP后订阅后会员下载后的音乐存储格式。默认情况下只有酷狗音乐可以打开它。那么如何将kgm其转换为MP3&#xff1f;小编尝试了几种转换工具&#xff0c;只有格式工厂才有可以成功。下面对kgm转换mp3格式感兴趣的朋友随小编一起看看吧&#xff0c;希望对大…

音频如何转换mp3格式?

音频如何转换mp3格式&#xff1f;音频文件的格式可谓五花八门&#xff0c;种类比图片格式还要多很多&#xff0c;这也导致很多不常用的音频格式根本不好使用&#xff0c;因为很多播放器或者平台设置根本支持这些不常用的音频格式。不过大家也知道&#xff0c;mp3属于最常用的音…

怎样把mp3转换成mp4?

怎样把mp3转换成mp4&#xff1f;在日常电脑使用过程中&#xff0c;我们如果需要将mp3格式的音频文件转成mp4视频该怎么操作呢&#xff1f;很多人对音频和视频文件的编辑或者转换操作还一无所知&#xff0c;那是因为你还没有找到方法。 要想将MP3音乐转换为MP4格式&#xff0c;其…

杰林码在荧光细胞识别中的应用(一)

一、杰林码轮廓预测算法 本算法是基于我的《一种全新的图像变换理论的实验》系列博客中的算法构造的轮廓预测算法&#xff0c;能有效的进行细胞轮廓预测&#xff0c;而且从前景到背景支持50个深度层次的轮廓预测。优点&#xff1a; 1、支持各种清晰度和分辨率&#xff0c;通过…

mp3怎么转换成mp4?

大家都知道现在的自媒体平台特别多&#xff0c;很多伙伴不仅热衷于刷视频打发无聊的时间&#xff0c;更把发视频作为一种业余爱好&#xff0c;为忙碌的生活增添了些许的悠闲和快乐。但是很多小伙伴仅仅有音频文件&#xff0c;不会自己做视频&#xff0c;所以这个时候将音频MP3文…

android mp3转acc,acc转换mp3工具_Magic AAC to MP3 Converter V3.7 下载

Magic AAC to MP3 Converter 是一个非常专业的acc转换mp3工具&#xff0c;本acc转mp3工具可以批量转换AAC&#xff0c;MP4&#xff0c;m4a&#xff0c;MP3&#xff0c;WMA&#xff0c;WAV格式的音频文件为mp3格式。 此外您还可以使用Magic AAC to MP3 Converter来提取MPEG音频&…

kgm转mp3安卓_酷狗KGM转MP3格式工具电脑版

iefans为用户提供的酷狗的kgm文件怎么转成mp3&#xff1f;可以使用kgm文件转化为mp3软件&#xff0c;把酷狗kgm转换mp3格式&#xff0c;现在推荐一款免费好用的音频格式转换器&#xff0c;使用酷狗KGM转MP3格式工具&#xff0c;利用这款kgm转换为mp3软件&#xff0c;轻松把kgm格…

mp3文件怎么转换格式

mp3格式是一种通用的音频格式&#xff0c;大多用于保存歌曲、电影&#xff0c;相信大家有时候在网上下载的音频文件也是mp3格式&#xff0c;但是有一个问题&#xff0c;mp3格式音频文件可以和我们的设备不兼容&#xff0c;所以大家在播放mp3格式音频时可能需要下载各种软件或插…