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

📄 musicplayer.java

📁 自己写的使用JMF编写的简单程序
💻 JAVA
字号:
package eee;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.media.*;
import java.awt.*;
import java.io.File;
import java.net.MalformedURLException;
public class MusicPlayer extends JFrame{
	Player ap=null;
	float playrate=1;
	ImageIcon image=null;
	MusicPlayer(){
		ImageIcon image=null;
		setSize(1200,900);
		MenuBar menubar=new MenuBar();
		setMenuBar(menubar);
		Menu filemenu=new Menu("文件");
		MenuItem openitem = new MenuItem("打开音乐文件");
		MenuItem openimageitem = new MenuItem("打开图像文件");
		filemenu.add(openitem);
		openitem.addActionListener(new openfile());
		filemenu.add(openimageitem);
		openimageitem.addActionListener(new openimagefile());
		menubar.add(filemenu);
		
		imagepanel panel1 = new imagepanel();
		panel1.setBackground(Color.CYAN);
		add(panel1);
		
		image = new ImageIcon("1.jpg");
		setIconImage(image.getImage());
		
		keyadapter keyevent = new keyadapter();
		addKeyListener(keyevent);
		setVisible(true);
		
	
	
	}
	class keyadapter implements KeyListener{

		public void keyPressed(KeyEvent e) {
			switch(e.getKeyCode()){
			case KeyEvent.VK_S : ap.start();break;
			case KeyEvent.VK_E : ap.stop();break;
			case KeyEvent.VK_R : ap.start();break;
			case KeyEvent.VK_RIGHT : playrate+=0.01;ap.setRate(playrate);break;
			}
			
		}

		public void keyReleased(KeyEvent arg0) {
		
			
		}

		public void keyTyped(KeyEvent arg0) {
			
			
		}}
	class openimagefile implements ActionListener{

		public void actionPerformed(ActionEvent e1) {
			File fi1 = null;
		 	 JFileChooser jf1 = new JFileChooser("D:");
		 	    
				 jf1.setFileSelectionMode(JFileChooser.FILES_ONLY);
					int str = jf1.showOpenDialog(getContentPane());
					if(str ==JFileChooser.CANCEL_OPTION){return;}
					fi1 = jf1.getSelectedFile();
					if(fi1.toString().contains(".mp3")||fi1.toString().contains(".wav")){
						try {
							   ap=Manager.createPlayer( fi1.toURL() );
							} catch (NoPlayerException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							} catch (MalformedURLException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							} catch (IOException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}
							ap.start();
					}
					else
					image = new ImageIcon(fi1.toString());
					
			repaint();
		}
		}
	
	class openfile implements ActionListener{

		@SuppressWarnings("deprecation")
		public void actionPerformed(ActionEvent e1) {
			File fi1 = null;
		 	 JFileChooser jf1 = new JFileChooser("D:");
			
				 jf1.setFileSelectionMode(JFileChooser.FILES_ONLY);
					int str = jf1.showOpenDialog(getContentPane());
					if(str ==JFileChooser.CANCEL_OPTION){return;}
					fi1 = jf1.getSelectedFile();
		try {
		   ap=Manager.createPlayer( fi1.toURL() );
		} catch (NoPlayerException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		ap.start();
			
		}
		}
	class imagepanel extends JPanel{
		
		protected void paintComponent(Graphics g) {
			
			super.paintComponent(g);
			if(image!=null){
			image.paintIcon(this, g, 450-image.getIconHeight()/2,600-image.getIconWidth()/2);
				//g.drawImage(image.getImage(), 20, 20, 10*image.getIconHeight(),10*image.getIconWidth(), null, null);
			//g.drawImage(image.getImage(), 0, 100,null, null);
			}
			
		}
	}
public static void main(String args[]){
	MusicPlayer app=new MusicPlayer();
	app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

⌨️ 快捷键说明

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