zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java音频播放示例分享(java如何播放音频)

JAVA 如何 示例 分享 播放 音频
2023-06-13 09:15:24 时间

这是一份精简后的代码,能够支持的格式十分有限。

复制代码代码如下:


packagecom.hongyuan.test;

importjava.io.File;
importjava.io.IOException;

importjavax.sound.sampled.AudioFormat;
importjavax.sound.sampled.AudioInputStream;
importjavax.sound.sampled.AudioSystem;
importjavax.sound.sampled.DataLine;
importjavax.sound.sampled.LineUnavailableException;
importjavax.sound.sampled.SourceDataLine;
importjavax.sound.sampled.UnsupportedAudioFileException;

publicclassMusicTest{

 publicstaticfinalStringMUSIC_FILE="相逢一笑.wav";

 publicstaticvoidmain(String[]args)throwsLineUnavailableException,
   UnsupportedAudioFileException,IOException{

  //获取音频输入流
  AudioInputStreamaudioInputStream=AudioSystem
    .getAudioInputStream(newFile(MUSIC_FILE));
  //获取音频编码对象
  AudioFormataudioFormat=audioInputStream.getFormat();

  //设置数据输入
  DataLine.InfodataLineInfo=newDataLine.Info(SourceDataLine.class,
    audioFormat,AudioSystem.NOT_SPECIFIED);
  SourceDataLinesourceDataLine=(SourceDataLine)AudioSystem
    .getLine(dataLineInfo);
  sourceDataLine.open(audioFormat);
  sourceDataLine.start();

  /*
  *从输入流中读取数据发送到混音器
  */
  intcount;
  bytetempBuffer[]=newbyte[1024];
  while((count=audioInputStream.read(tempBuffer,0,tempBuffer.length))!=-1){
   if(count>0){
    sourceDataLine.write(tempBuffer,0,count);
   }
  }

  //清空数据缓冲,并关闭输入
  sourceDataLine.drain();
  sourceDataLine.close();
 }

}