audiomidlet.java

来自「j2me实现在本地wav,mid格式是音乐播放」· Java 代码 · 共 112 行

JAVA
112
字号
package com;

import java.io.InputStream;

import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.List;
import javax.microedition.media.Manager;
import javax.microedition.media.Player;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class AudioMIDlet extends MIDlet implements Runnable,CommandListener{

	private Display display;
	private List list;
	public AudioMIDlet() {
		// TODO Auto-generated constructor stub
	}

	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		// TODO Auto-generated method stub

	}

	protected void pauseApp() {
		// TODO Auto-generated method stub

	}

	protected void startApp() throws MIDletStateChangeException {
		
		// TODO Auto-generated method stub
		display=Display.getDisplay(this);
		if(list==null)
		{
			list=new List("播放音频",List.IMPLICIT);
			list.append("播放音频文件", null);
			list.append("播放网络服务器的音乐",null);
			list.addCommand(new Command("退出",Command.EXIT,0));
			list.addCommand(new Command("开始",Command.SCREEN,0));
			list.setCommandListener(this);
		}
		display.setCurrent(list);
	}
	public void commandAction(Command c,Displayable s)
	{
		if(c.getCommandType()==Command.EXIT)
		{
			notifyDestroyed();
		}else
		{
			Form waiForm=new Form("正在播放音乐");
			display.setCurrent(waiForm);
			Thread t=new Thread(this);
			t.start();
		}
	}
	public void run(){
		String selection=list.getString(list.getSelectedIndex());
		boolean flag=selection.equals("播放网络服务器的音乐");
		if(flag)
		{
			playnet();
		}else
		{
			playwaw();
		}
	}
	private void playnet()
	{
		try
		{
		  Player player=Manager.createPlayer("http://localhost:8080/bark.wav");
		  player.start();
		}catch(Exception e)
		{
			showException(e);
			return;
		}
		display.setCurrent(list);
	}
	public void playwaw()
	{
		try
		{
			InputStream in=getClass().getResourceAsStream("/pattern.mid");
			Player player=Manager.createPlayer(in,"audio/midi");
			player.start();
		}
		catch(Exception e)
		{
			showException(e);
		}
		display.setCurrent(list);
	}
	private void showException(Exception e)
	{
		Alert a=new Alert("出现异常",e.toString(),null,null);
		a.setTimeout(Alert.FOREVER);
		display.setCurrent(a);
        
	}
}


⌨️ 快捷键说明

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