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

📄 mmatoneplayer.java

📁 J2ME核心类及MIDlet类 MIDP用户界面对象 图形处理及低级事件处理 多线程编程 I/O及网络编程 数据库RMS编程 浮点数编程 多媒体及GAME API编程 安全、加密及
💻 JAVA
字号:
import javax.microedition.lcdui.*;import javax.microedition.media.*;import javax.microedition.media.control.*;import java.io.*;public class MMATonePlayer    extends TonePlayer	implements PlayerListener{    private Player player;    private boolean playing = false;	private ToneControl tc;	static final byte C4 = ToneControl.C4;	static final byte tones[][] =    {        {C4,    C4+1 },         // C, C#        {C4+2,  C4+3 },         // D, D#        {C4+4,  C4+4 },         // E, E (无 E#)        {C4+5,  C4+6 },         // F, F#        {C4+7,  C4+8 },         // G, G#        {C4+9,  C4+10},         // A, A#        {C4+11, C4+11},         // B, B (无 B#)        {C4+12, C4+13},         // C, C#        {C4+14, C4+15},         // D, D#        {C4+16, C4+16},         // E, E (无 E#)        {C4+17, C4+18}          // F, F#    };	public MMATonePlayer() throws Exception	{		try{		}catch(Exception e ){ throw e;}	}	// 播放    void play(int toneIndex, boolean sharp)    {		byte tone = tones[ toneIndex ][ sharp?0:1];		//playToneSimple( tone );		playToneControl( tone );		System.out.println( tone );    }	// 停止    void stop()    {		try{			if( playing && player != null) {				player.stop();				player = null;			}		}catch( Exception e ){}		playing = false;    }	// 能否有#音	boolean maySharp( int toneIndex )	{		if( toneIndex==2 || toneIndex==6 ||			toneIndex==9 )			return false;		return true;	}	// 简单的播放方法    private void playToneSimple( byte tone)    {        try        {            Manager.playTone(tone, 1000, 80);        }        catch (MediaException me)        {            me.printStackTrace();        }    }	// 复杂的播放方法    private void playToneControl( byte tone)    {        byte[] sequence =        {            ToneControl.VERSION, 1,            ToneControl.TEMPO, 15,    			ToneControl. RESOLUTION, 64,     			tone, 32,        };        try        {			if( playing && player != null )				player.stop();            		    player = Manager.createPlayer(				Manager.TONE_DEVICE_LOCATOR);            player.addPlayerListener(this);            player.realize();			tc = (ToneControl)(				player.getControl("ToneControl"));            tc.setSequence(sequence);            player.start();            playing = true;        }        catch (Exception e)        {			e.printStackTrace();        }    }	// 事件处理    public void playerUpdate(Player p,                             String event,                             Object eventData)    {        if (event == END_OF_MEDIA)        {            p.close();			playing = false;        }		if (event == CLOSED )		{			playing = false;		}    }}

⌨️ 快捷键说明

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