首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

java播发mp3(不用jmf)

2012-08-17 
java播放mp3(不用jmf)帮一个小妹写一个播放mp3的代码,对于java不熟的我来说可真折腾。?网上好多代码都是用j

java播放mp3(不用jmf)

帮一个小妹写一个播放mp3的代码,对于java不熟的我来说可真折腾。

?

网上好多代码都是用jmf的,需要单独安装,除了jar包,还依赖很多dll文件。

?

找了又找,终于找到一个只依赖jar包的;

?

原帖地址:http://blog.csdn.net/liuzhongbing/article/details/4535402

?

依赖的jar包见附件。

?

import java.io.File;import java.io.IOException;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;public class Test {public static void main(String[] args) throws Exception, IOException {AudioInputStream audioInputStream;// 文件流AudioFormat audioFormat;// 文件格式SourceDataLine sourceDataLine;// 输出设备File file = new File("E:/5.mp3");// 取得文件输入流audioInputStream = AudioSystem.getAudioInputStream(file);audioFormat = audioInputStream.getFormat();// 转换mp3文件编码if (audioFormat.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) {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) AudioSystem.getLine(dataLineInfo);sourceDataLine.open(audioFormat);sourceDataLine.start();byte tempBuffer[] = new byte[320];try {int cnt;// 读取数据到缓存数据while ((cnt = audioInputStream.read(tempBuffer, 0,tempBuffer.length)) != -1) {if (cnt > 0) {// 写入缓存数据sourceDataLine.write(tempBuffer, 0, cnt);}}// Block等待临时数据被输出为空sourceDataLine.drain();sourceDataLine.close();} catch (Exception e) {e.printStackTrace();System.exit(0);}}}
? 1 楼 BlackGray 9 小时前   原帖还没看,本帖报:
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file

查过,格式不支持:
http://www.guan8.net/Java/102673.html

热点排行