playmusic.java

来自「java me的一些源码,包括多媒体(声音、视频)」· Java 代码 · 共 95 行

JAVA
95
字号
import java.io.InputStream;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
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 PlayMusic extends MIDlet implements CommandListener{
    private Display display;
    private Command cmdExit = new Command("退出", Command.EXIT, 1);
    
    private List list;
    //list的内容
    private static final String[] items = {
        "test.mp3",
        "dudu.mid",
        "flag.wav",
        "flag.amr",
    };  
    
    //MIME类型字符串
    private static final String[] MIME_TYPE = {
        "audio/mpeg",
        "audio/midi",
        "audio/wav",
        "audio/amr",
    };  
    
    public PlayMusic() {
        super();
        
        list = new List("播放不同格式声音演示", List.IMPLICIT, items, null);
        list.addCommand(cmdExit);
        list.setCommandListener(this);
    }

    protected void startApp() throws MIDletStateChangeException {
        display = Display.getDisplay(this);
        display.setCurrent(list);
    }

    protected void pauseApp() {
        // TODO 自动生成方法存根
    }

    protected void destroyApp(boolean arg0)
        throws MIDletStateChangeException {
        // TODO 自动生成方法存根
    }
    
    /**
     * 命令按钮事件
     */
    public void commandAction(Command c, Displayable d) {
        if (c == cmdExit) {
            notifyDestroyed();
        }
        
        if (c == List.SELECT_COMMAND) {
            int index = list.getSelectedIndex();
            String mime = MIME_TYPE[index];
            String name = list.getString(index);
            playMusic(name, mime);
        }
    }
    
    //用于播放音乐
    private void playMusic(String name, String mime) {
        try {
            InputStream is = getClass().getResourceAsStream("/res/"+name);
            Player player = Manager.createPlayer(is, mime);
            player.realize();
            player.prefetch();
            player.start();
        } catch(Exception e) {
            System.out.println("播放音乐发生异常:" + e.toString());
        }
    }

}









⌨️ 快捷键说明

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