java中的MP3播放核心代码

来源:互联网 发布:杰奇cms 编辑:程序博客网 时间:2024/05/18 01:35
需要的核心jar包有




jl1.0.jar
mp3spi1.9.4.jar
tritonus-share.jar




public class MusicTest3 {


public static void main(String[] args) throws UnsupportedAudioFileException, IOException, LineUnavailableException {


//C:\\Documents and Settings\\Administrator\\桌面\\教程文档\\浮生赋.mp3

//获得音乐文件
File file=new File("C:\\Documents and Settings\\Administrator\\桌面\\教程文档\\浮生赋.mp3");
//获得音乐文件输入流
AudioInputStream audioInputStream =AudioSystem.getAudioInputStream(file);
//获取文件流的格式化方式
AudioFormat audioFormat=audioInputStream.getFormat();
System.out.println(audioFormat.toString());
System.out.println("***************************");
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);
}

System.out.println(audioFormat.toString());

//打开设备
DataLine.Info dataLineInfo=new DataLine.Info(SourceDataLine.class, audioFormat,AudioSystem.NOT_SPECIFIED);

SourceDataLine sourceDataLine=(SourceDataLine)AudioSystem.getLine(dataLineInfo);

sourceDataLine.open(audioFormat);

sourceDataLine.start();

//循环播放

int cnt;
byte b[]=new byte[1024];
while((cnt=audioInputStream.read(b, 0, b.length))!=-1)
{
if(cnt>0)
{
sourceDataLine.write(b, 0, cnt);
}
}

sourceDataLine.drain();
sourceDataLine.close();







}


}
0 0
原创粉丝点击