java中使用音乐
2021/11/21 1:09:59
本文主要是介绍java中使用音乐,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
** 1.下载JLayer的jar包**
下载链接:https://sourceforge.net/projects/javalayer/
https://sourceforge.net/projects/javalayer/
2.创建java项目,准备一个MP3文件放入src的文件夹下
3. 编写测试代码
`package com.qy.jlayer;
import java.io.File;
import java.io.FileInputStream;
import javazoom.jl.player.Player;
public class TestJlayer {
public static void main(String[] args) throws Exception{
File file = new File("src/1.mp3");
Player player = new Player(new FileInputStream(file));
player.play();//播放音乐
//player.close();//停止音乐
}
}
`
4 常用api总结
5.注意
可以看到这个工具包的使用很简单,但是play() 这个方法是阻塞式的,也就同步的,程序运行的时候,音乐不放完代码是不会往下走的,这在swing开发中就会存在一种问题,在播放音乐的时候如果想切换音乐或者停止音乐,按钮是点击不了的。我的解决方案是单独启动一个线程来播放音乐。
伪代码如下:
`public class MusicIndexFrm extends JFrame {
//第一步定义
private Player player ;//播放对象
private Music playMusic;//正在播放的音乐,如果没有则为null 这个Music类是自己封装的,里面定义了音乐相关信息,比如歌名,路径等
//第二步:核心在这里 自定义线程类,来播放音乐 private class MyRunnable implements Runnable{//1.实现Runnable接口 public void run() {//2.重写run方法 try { if(null != player){player.close();}//如果有音乐在播放先关闭,一次只放一首歌 player = new Player(new FileInputStream(new File(playMusic.getPath()))); player.play();//播放 } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (JavaLayerException e1) { e1.printStackTrace(); } } } //第三步:通过线程去播放音乐而不是直接调用play()方法 Music music = new Music(id, name, formats, singer, path); playMusic = music;//将正在播放的音乐保存 //播放音乐,此处要启动一个线程去播放,不然窗口动不了 new Thread(new MyRunnable()).start();
}
`
这篇关于java中使用音乐的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求