<dependency>
<groupId>javazoom</groupId>
<artifactId>jlayer</artifactId>
<version>1.0.1</version>
</dependency>
实例 | 描述 | |
对象构造方式 | Player(InputStream in); | 参数:in 输入流 |
Player(InputStream in, AudioDevice dev); | 参数:in 输入流 dev 处理接口 | |
方法 | play(int frames); | 作用:mp3播放 参数:frames 帧数 无参调用默认 2147483647 注:播放占用线程,建议另起线程调用 |
play(); | ||
boolean isComplete(); | 作用:验证是否正在播放 注:当前线程创建对象,其他线程调用时可在当前线程调用 | |
int getPosition(); | 作用:获取播放进度 注:当前线程创建对象,其他线程调用时可在当前线程调用 | |
void close(); | 作用:停止播放 注:当前线程创建对象,其他线程调用时可在当前线程调用 |
@Test
public void test() {
FileInputStream inputStream = null;
BufferedInputStream bufferedInputStream = null;
try {
//声明一个File对象
File mp3 = new File("D:/demo/a.mp3");
//创建一个输入流
inputStream = new FileInputStream(mp3);
//创建一个缓冲流
bufferedInputStream = new BufferedInputStream(inputStream);
//创建播放器对象,把文件的缓冲流传入进去
final Player player = new Player(bufferedInputStream);
new Thread(() -> {
//调用播放方法进行播放
try {
player.play();
} catch (JavaLayerException e) {
e.printStackTrace();
}
}).start();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
inputStream.close();
bufferedInputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}