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

📄 playmedia2.java

📁 基于J2me的手机软件演示例子
💻 JAVA
字号:
package com.wy.ch12;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;
import javax.microedition.media.control.*;

public class PlayMedia2 extends MIDlet implements CommandListener{
    private Display display;
    private Form f;
    private Command command;
    private Player p;
    public PlayMedia2(){
        display = Display.getDisplay(this);
        f = new Form("音调播放测试");
        command = new Command("播放", Command.ITEM, 1);
        f.addCommand(command);
        f.setCommandListener(this);
    }
    
    public void startApp() {
        display.setCurrent(f);
    }
    
    public void commandAction(Command command, Displayable displayable){
        play();
    }
    
    public void play(){
        byte tempo = 30; // 设置节拍为120bpm
        byte d = 8;      // 八分音符
        
        byte C4 = ToneControl.C4;;
        byte D4 = (byte)(C4 + 2); // 全音程
        byte E4 = (byte)(C4 + 4); // 大三度
        byte G4 = (byte)(C4 + 7); // 五度
        byte rest = ToneControl.SILENCE; // 休止符
        
        byte[] mySequence = {
            ToneControl.VERSION, 1,   // 版本1
            ToneControl.TEMPO, tempo, // 设置tempo
            ToneControl.BLOCK_START, 0,   // 开始定义"A"部分
            E4,d, D4,d, C4,d, E4,d,       // "A"部分的内容
            E4,d, E4,d, E4,d, rest,d,
            ToneControl.BLOCK_END, 0,     // 结束定义"A"部分
            ToneControl.PLAY_BLOCK, 0,    // 播放"A"部分
            D4,d, D4,d, D4,d, rest,d,     // 播放"B"部分
            E4,d, G4,d, G4,d, rest,d,
            ToneControl.PLAY_BLOCK, 0,    // 重复"A"部分
            D4,d, D4,d, E4,d, D4,d, C4,d  // 播放"C"部分
        };
        
        try{
            p= Manager.createPlayer(Manager.TONE_DEVICE_LOCATOR);
            p.realize();
            ToneControl c = (ToneControl)p.getControl("ToneControl");
            c.setSequence(mySequence);
            p.start();
        } catch (Exception e) {
        }
        
    }
    
    public void pauseApp() {
    }
    
    public void destroyApp(boolean unconditional) {
        if(p!=null){
            p.close();
        }
    }
    
}

⌨️ 快捷键说明

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