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

📄 musicplayer.java

📁 简单的MP3播放器
💻 JAVA
字号:
package com.wootion.player;

import java.util.Random;
import java.util.Vector;

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.media.Manager;
import javax.microedition.media.MediaException;
import javax.microedition.media.Player;
import javax.microedition.media.PlayerListener;
import javax.microedition.media.control.VolumeControl;

import com.wootion.control.Parameter;
import com.wootion.mainMidlet.MainMidlet;
import com.wootion.rms.PlayListBean;
import com.wootion.rms.PlayListRMS;
import com.wootion.ui.PlayerUI;

public class MusicPlayer implements Runnable, PlayerListener {
	Displayable dis;

	private int selected;

	PlayListRMS plrms = new PlayListRMS();

	PlayListBean plb = new PlayListBean();

	public Player player;
	
	private Thread dThread;
	
	public VolumeControl control;
	
	private int mTotal;
	
	private int vTotal;
	
	private Vector vector =  new Vector();

//	初始化音量大小
	int volumn = 50;

	public int getVTotal() {
		return vTotal;
	}

	public void setVTotal(int total) {
		vTotal = total;
	}

	public Vector getVector() {
		return vector;
	}

	public void setVector(Vector vector) {
		this.vector = vector;
	}

	public int getMTotal() {
		return mTotal;
	}

	public void setMTotal(int total) {
		mTotal = total;
	}

	public int getVolumn() {
		return volumn;
	}

	public void setVolumn(int volumn) {
		this.volumn = volumn;
	}

	public Displayable getDis() {
		return dis;
	}

	public void setDis(Displayable dis) {
		this.dis = dis;
	}

	public int getSelected() {
		return selected;
	}

	public void setSelected(int selected) {
		this.selected = selected;
	}

	public MusicPlayer() {
		// TODO Auto-generated constructor stub
	}

	void createPlayer() {
		try {
			plrms.openRS("playlistdb");
			plb = (PlayListBean) plrms.getRecord(plrms.getId(this.getSelected()));
			plrms.closeRS();
			player = Manager.createPlayer(plb.getMusicUrl());
			Parameter.songName = plb.getMusicName();
			player.addPlayerListener(this);
		}
		catch (Exception e) {
			Display.getDisplay(MainMidlet.getInstance()).setCurrent(
					new MessageAlert("警告", "创建播放器出错!", dis));
		}
	}

	public void run() {
		createPlayer();
		try {
			player.realize();
			control = (VolumeControl) player.getControl("VolumeControl");
			control.setLevel(this.getVolumn());
			player.prefetch();
			player.start();
		}
		catch (Exception ex) {
			stopPlay();
			Display.getDisplay(MainMidlet.getInstance()).setCurrent(
					new MessageAlert("警告", "媒体文件有误!", dis));
			System.out.println(ex.getMessage());
		}

	}
	public void stopPlay() {
		if (player != null) {
			try {
				player.stop();
				player.close();
				player = null;
				System.gc();
			}
			catch (Exception e) {
				Display.getDisplay(MainMidlet.getInstance()).setCurrent(
						new MessageAlert("提示", "停止播放器有误!", dis));
			}
		}
	}
	public void pauseSound() {
		try {
			if (player != null) {
				// pause player
				player.stop();
			}
		}
		catch (MediaException ex) {
			ex.printStackTrace();
		}
	}
	public void playSound() {
		// player was paused
		if (player != null) {
			try {
				player.start();
			}
			catch (MediaException me) {
				me.printStackTrace();
			}

			return;
		}

		// start new player
		dThread = new Thread(this); 
		dThread.start();

	}
	public void playerUpdate(Player player, String event, Object eventData) {
		if (event == PlayerListener.END_OF_MEDIA) {
			stopPlay();
			PlayerUI.confirmflag = 0;  
			if (Parameter.playControl == 1) {
				playSound(); 
			}
			if (Parameter.playControl == 2) {
				selected++;
				if (selected > mTotal) {
					selected = 1;
				}
				playSound();
			}
			if (Parameter.playControl == 3) {
				for (int i = 0; i < vector.size(); i++) {
					if (vector.elementAt(i).equals(String.valueOf(selected))) {
						vector.removeElementAt(i);
						vector.addElement(String.valueOf(selected));
					}
				}
				--vTotal;
				if (vTotal < 1) {
					vTotal = mTotal;
				}
				Random ran = new Random();
				int vcid = ran.nextInt(vTotal);
				String strvc = (String) vector.elementAt(vcid);
				this.setSelected(Integer.parseInt(strvc)); 
				playSound();
			}
		}
		if (event == PlayerListener.STARTED) {
			PlayerUI.confirmflag = 1;
		}

	}

}

⌨️ 快捷键说明

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