失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 利用JAVA SOUND播放mp3 flac ape格式音乐

利用JAVA SOUND播放mp3 flac ape格式音乐

时间:2018-11-23 20:36:27

相关推荐

利用JAVA SOUND播放mp3 flac ape格式音乐

import javax.sound.sampled.*;import java.io.File;public class AudioFilePlayer {public static void main(String[] args) {final AudioFilePlayer player = new AudioFilePlayer();// player.play("F:\\网易云\\ENA☆ - For you~月の光が降り注ぐテラス.ape");// player.play("F:\\网易云\\“千と千寻の神隠し”~いつも何度でも - 久石譲.mp3");player.play("F:\\网易云\\와 - 李贞贤.flac");}public void play(String filePath) {try {// 文件流AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File(filePath));// 文件编码AudioFormat audioFormat = audioInputStream.getFormat();// 转换文件编码if (audioFormat.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) {System.out.println(audioFormat.getEncoding());audioFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, audioFormat.getSampleRate(), 16, audioFormat.getChannels(), audioFormat.getChannels() * 2, audioFormat.getSampleRate(), false);// 将数据流也转换成指定编码audioInputStream = AudioSystem.getAudioInputStream(audioFormat, audioInputStream);}// 打开输出设备DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class, audioFormat, AudioSystem.NOT_SPECIFIED);// 使数据行得到一个播放设备SourceDataLine sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo);// 将数据行用指定的编码打开sourceDataLine.open(audioFormat);// 使数据行得到数据时就开始播放sourceDataLine.start();int bytesPerFrame = audioInputStream.getFormat().getFrameSize();// 将流数据逐渐写入数据行,边写边播int numBytes = 1024 * bytesPerFrame;byte[] audioBytes = new byte[numBytes];while (audioInputStream.read(audioBytes) != -1) {sourceDataLine.write(audioBytes, 0, audioBytes.length);}sourceDataLine.drain();sourceDataLine.stop();sourceDataLine.close();} catch (Exception e) {e.printStackTrace();}}}

MP3用: tritonus_share,mp3spi1.9.5,jl1.0.1这三个解码包

ape用:jmactritonusspi这个解码包

flac用:jflac-1.3

jar包在网盘

如果觉得《利用JAVA SOUND播放mp3 flac ape格式音乐》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。