📄 playmusic.java
字号:
import java.io.IOException;
import java.io.InputStream;
import javax.microedition.media.*;
import javax.microedition.media.Player;
import javax.microedition.media.PlayerListener;
import javax.microedition.media.control.VolumeControl;
//import javax.microedition.midlet.MIDlet;
//import javax.microedition.midlet.MIDletStateChangeException;
public class playmusic implements PlayerListener {
private Player player;
private int i_LEVEL=500;//音量初始值
private VolumeControl volumeControl;
private String URL;
private boolean b_cycle=false;//循环播放
InputStream is; //输入流
/*****************************************************
功能:构造播放器
输入:音乐文件路径
*****************************************************/
public playmusic(String url1) {
URL = url1;
String type="";
is=getClass().getResourceAsStream(URL);//从url1获得播放资源的输入流
try {
if(URL.endsWith("wma")||URL.endsWith("WMA"))
{ //如果后缀名为wma
type = "audio/x-wma";
}
else if(URL.endsWith("midi")||URL.endsWith("MIDI"))
{ //如果后缀名为mid
type = "audio/midi";
}
player = Manager.createPlayer(is,type); //管理程序创建一个播放器格式为audio/x-wav
}
catch(MediaException ex)
{
System.out.println(ex.toString());
}
catch (IOException ex)
{
System.out.println(ex.toString());
}
}
public void getUrl(String url) {
URL = url;
}
/*****************************************************
功能:播放声音
输入:1.无
2.音量
输出:无
*****************************************************/
public void play(){
try {
if(player != null && player.getState() == Player.STARTED) {
player.close();
player = null;
}
player.realize();
player.start(); //开始播放
SetVolume(player, i_LEVEL); //设置音量(Player对象,音量大小)
}
catch (MediaException ex)
{
System.out.println(ex.toString());
}
}
public void play(int i_LEVEL){
try {
player.start(); //开始播放
SetVolume(player, i_LEVEL); //设置音量(Player对象,音量大小)
}
catch (MediaException ex)
{
System.out.println(ex.toString());
}
}
public void play(int i_LEVEL,boolean cycle){
play(i_LEVEL);
player.addPlayerListener(this);
b_cycle = cycle;
}
public void playerUpdate(Player player, String string, Object object) {
if (string == "endOfMedia" && b_cycle==true) {
try {
player.start();
}
catch (MediaException ex) {}
}
}
/*****************************************************
功能:停止音乐
*****************************************************/
public void stopPlayer(){
try {
player.stop();
}
catch (MediaException ex) {
}
}
/*****************************************************
功能:关闭音乐
*****************************************************/
public void closeAllPlayer(){
if(player != null){
player.close();
player = null;
}
}
/*****************************************************
功能:设置音量
输入:Player对象
音量级别(0-100)
输出:无
*****************************************************/
private void SetVolume(Player player,int i_Level){
volumeControl = (VolumeControl)player.getControl("VolumeControl");//获控制设置为音量控制
volumeControl.setLevel(i_Level);//设置音量
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -