⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ssmediaplayer.java

📁 实现了打开文件并添加到列表以及播放、暂停、停止、前进、后退的功能、如果播放视频文件会弹出另一个播放窗口。
💻 JAVA
字号:
//该播放器共3个文件:SSMediaPlayer.java,MusicProcess.java,VideoFrame.java 
//该播放器采用JMF开发,没有安装的朋友,到http://java.sun.com/products/java-media/jmf/2.1.1/download.html下载 

//第一个文件 
import javax.swing.*; 
import javax.swing.event.*; 
import java.awt.*; 
import java.awt.event.*; 
import java.io.*; 
import java.util.*; 
import java.net.*; 
import javax.media.*; 
class SSMediaPlayer extends JFrame implements ActionListener 
{ 
//一个简单的Java媒体播放器,采用JMF开发,支持mp3,mpg,mpeg,wav等格式,目前尚不支持 //wmv,wma 
//该播放器由兰州交通大学计算机科学与技术031 史永龙(SS)编写,实现了基本的一些功能,给 //初学者练手用,希望大家喜欢! 
JButton jbPlay,jbPause,jbContinue,jbStop,jbNext,jbPrev,jbOpen,jbTest; 
JPanel jp; 
Component vc; 
public static java.awt.List list; 
String name=null; 
String path=null; 
String musicname=null; 
String musicname1=null; 
public static Vector v=new Vector(); 
Vector v1=new Vector(); 
int index=0; 
int selectindex=0; 
public static int stopstaus=0; 
public static int staus=0; 
MusicProcess mp=new MusicProcess(); 
public static boolean play=false; 
public static boolean pause=false; 
public static boolean stop=false; 
public SSMediaPlayer() 
{ 
this.setTitle("一个简单的Java媒体播放器"); 
list=new java.awt.List(10); 
this.getContentPane().add(list,"Center"); 
jbPlay=new JButton("播放",new ImageIcon("ico\\play.gif")); 
jbPlay.addActionListener(this); 
jbContinue=new JButton("继续",new ImageIcon("ico\\play.gif")); 
jbContinue.setVisible(false); 
jbContinue.addActionListener(this); 
jbPause=new JButton("暂停",new ImageIcon("ico\\pause.gif")); 
jbPause.addActionListener(this); 
jbStop=new JButton("停止",new ImageIcon("ico\\stop.gif")); 
jbStop.addActionListener(this); 
jbNext=new JButton("前进",new ImageIcon("ico\\next.gif")); 
jbNext.addActionListener(this); 
jbPrev=new JButton("后退",new ImageIcon("ico\\prev.gif")); 
jbPrev.addActionListener(this); 
jbOpen=new JButton("打开",new ImageIcon("ico\\open.gif")); 
jbOpen.addActionListener(this); 
jp=new JPanel(); 
jp.add(jbPlay); 
jp.add(jbContinue); 
jp.add(jbPause); 
jp.add(jbPrev); 
jp.add(jbNext); 
jp.add(jbStop); 
jp.add(jbOpen); 
this.setTitle(name); 
this.getContentPane().add(jp,"South"); 
this.setSize(430,300); 
this.setLocation(140,200); 
this.setVisible(true); 
this.setResizable(false); 
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
} 
public void actionPerformed(ActionEvent e) 
{ 
if(e.getSource()==jbPlay) 
{ 
try 
{ 
play=true; 
staus=0; 
Thread ttplay=new Thread(mp); 
ttplay.start(); 
jbPlay.setEnabled(false); 
jbPause.setEnabled(true); 
return; 
} 
catch(Exception eplay) 
{ 
eplay.printStackTrace(); 
} 
} 
if(e.getSource()==jbPause) 
{ 
try 
{ 
if(mp.play!=null) 
{ 
jbPlay.setVisible(false); 
jbContinue.setVisible(true); 
jbContinue.setEnabled(true); 
jbPause.setEnabled(false); 
jbPause.setEnabled(true); 
mp.play.stop(); 
} 
return; 
} 
catch(Exception epause) 
{ 
epause.printStackTrace(); 
} 
} 
if(e.getSource()==jbContinue) 
{ 
if(mp.play!=null) 
{ 
jbPlay.setVisible(true); 
jbContinue.setVisible(false); 
jbPause.setVisible(true); 
jbPause.setEnabled(true); 
jbContinue.setEnabled(false); 
mp.play.start(); 
vc=mp.play.getVisualComponent(); 
} 
return; 
} 
if(e.getSource()==jbStop) 
{ 
if(mp.play!=null) 
{ 
mp.play.stop(); 
mp.play.setMediaTime(new Time(0)); 
jbPlay.setVisible(true); 
jbContinue.setVisible(false); 
jbContinue.setEnabled(false); 
jbPlay.setEnabled(true); 
jbPause.setEnabled(false); 
stopstaus=1; 
} 
return; 
} 
if(e.getSource()==jbNext) 
{ 
if(mp.play!=null) 
{ 
mp.play.stop(); 
mp.play.setMediaTime(new Time(0)); 
if((list.getSelectedIndex()+1)!=list.getItemCount()) 
{ 
list.select(list.getSelectedIndex()+1); 
Thread ttnext=new Thread(mp); 
ttnext.start(); 
jbPlay.setEnabled(false); 
jbPause.setEnabled(true); 
} 
else 
{ 
list.select(0); 
Thread ttnext=new Thread(mp); 
ttnext.start(); 
jbPlay.setEnabled(false); 
jbPause.setEnabled(true); 
} 
} 
return; 
} 
if(e.getSource()==jbPrev) 
{ 
if(mp.play!=null) 
{ 
mp.play.stop(); 
mp.play.setMediaTime(new Time(0)); 
if((list.getSelectedIndex()-1)>=0) 
{ 
list.select(list.getSelectedIndex()-1); 
Thread ttprev=new Thread(mp); 
ttprev.start(); 
jbPlay.setEnabled(false); 
jbPause.setEnabled(true); 
} 
else 
{ 
list.select(list.getItemCount()-1); 
Thread ttprev=new Thread(mp); 
ttprev.start(); 
jbPlay.setEnabled(false); 
jbPause.setEnabled(true); 
} 
} 
} 
if(e.getSource()==jbOpen) 
{ 
FileDialog fd = new FileDialog(this, "打开媒体文件", FileDialog.LOAD); 
fd.setVisible(true); 
if(fd.getFile()==null) 
{ 
return; 
} 
path=fd.getDirectory(); 
name=fd.getFile(); 
musicname=path+name; 
list.add(musicname,index); 
v.add(index,musicname); 
v1.add(index,new Integer(index)); 
list.select(index); 
musicname1=(String)v.get(index); 
index=index+1; 
} 
} 
public static void main(String args[]) 
{ 
new SSMediaPlayer(); 
} 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -