?? musicplayer.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 + -