/**
* @see
* @author Al_assad yulinying_1994@outlook.com
* @date 2016年11月17日 下午6:27:59
* @version V1.0
* Description: 简易音频播放器(只支持AU,RA,WAV)
* 在不使用JMF的情况下快速实现音频播放
*
*/
import javax.sound.sampled.*;
import java.io.*;
public class MusicPlayer {
private String musicPath; //音频文件
private volatile boolean run = true; //记录音频是否播放
private Thread mainThread; //播放音频的任务线程
private AudioInputStream audioStream;
private AudioFormat audioFormat;
private SourceDataLine sourceDataLine;
public MusicPlayer(String musicPath) {
this.musicPath = musicPath;
prefetch();
}
//数据准备
private void prefetch(){
try{
//获取音频输入流
audioStream = AudioSystem.getAudioInputStream(new File(musicPath));
//获取音频的编码对象
audioFormat = audioStream.getFormat();
//包装音频信息
DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class,
audioFormat,AudioSystem.NOT_SPECIFIED);
//使用包装音频信息后的Info类创建源数据行,充当混频器的源
sourceDataLine = (SourceDataLine)AudioSy
使用javax.sound实现简单的音频播放
最新推荐文章于 2025-05-18 10:15:00 发布