今天为大家分享一个java语言编写的播放器程序,目前系统功能已经很全面,后续会进一步完善。整个系统界面漂亮,有完整得源码,希望大家可以喜欢。喜欢的帮忙点赞和关注。一起编程、一起进步
开发环境
开发语言为Java,开发环境Eclipse或者IDEA都可以,数据为MySQL。运行主程序,或者执行打开JAR文件即可以运行本程序。
系统框架
利用JDK自带的SWING框架开发。纯窗体模式,直接运行Main文件即可以。同时带有详细得设计文档。
主要功能
程序启动
下载源码后,导入到Eclipse或者IDEA中,运行PlayerMain.java,出现播放器的主界面后,程序运行成功
主要模块
本项目是一个音乐播放器,主要实现MP3的播放,实现的主要功能,包括以下功能点
1 点击播放清单。首先选择要添加的MP3清单,一次添加一条,也可以添加多条。
2 点击开始,播放当前选中的MP3歌曲(循环播放和单曲播放)
3 点击停止,播放当前选中的MP3歌曲
4 上一曲:跳转到上一首播放的歌曲
5 下一曲:跳转到下一首播放的歌曲
6 删除当前播放的歌曲清单
7 清空播放清单:删除播放清单的所有歌曲
实现效果



关键代码
package com.soft.util;
import java.applet.AudioClip;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javazoom.jl.player.Player;
public class PlayMusic{
private Player player;
private String filename;
JButton btn;
String old;
@SuppressWarnings("rawtypes")
JComboBox comboBox;
boolean flag=false;
Thread r = new R();
//private String[] str = {"杨坤,郭采洁 - 答案.mp3","许嵩 - 你若成风.mp3","纸短情长(女声完整版)-纸短情长(女声完整版).mp3","纸短情长-粤语-纸短情长-粤语.mp3"};
public PlayMusic(String filename,JButton btn,JComboBox comboBox) {
// TODO Auto-generated constructor stub
this.filename = filename;
this.btn = btn;
this.comboBox = comboBox;
}
public PlayMusic() {
// TODO Auto-generated constructor stub
}
public static AudioClip loadSound(String filename) {
URL url = null;
try {
String src = "file:" + filename;
System.out.println(src);
url = new URL(src);
}
catch (MalformedURLException e) {;}
return JApplet.newAudioClip(url);
}
public void play() {
try {
comboBox.setSelectedIndex(0);
BufferedInputStream buffer = new BufferedInputStream(new FileInputStream(filename));
System.out.println("播放音乐:"+filename+"-----"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
player = new Player(buffer);
player.play();
if(player.isComplete()==true) {
flag=true;
System.out.println("-----------"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+"-------------");
close();
btn.setText("开始");
comboBox.setSelectedIndex(1);
/*Random r = new Random();
play("E:\\CloudMusic\\"+str[r.nextInt(str.length)]);*/
}
} catch (Exception e) {
System.out.println(e);
}
}
public void close() {
player.close();
}
public void start() {
r.start();
}
@SuppressWarnings("deprecation")
public void stop() {
r.stop();
}
@SuppressWarnings("deprecation")
public void suspend() {
r.suspend();
}
@SuppressWarnings("deprecation")
public void resume() {
r.resume();
}
public boolean isComplete(){
return flag;
}
class R extends Thread{
@Override
public void run() {
// TODO Auto-generated method stub
play();
}
}
}
353

被折叠的 条评论
为什么被折叠?



