J2ME音频播放:一种是自己编写一段音频(存放在数组中);另一种是加载音频资源文件。
Player实例的状态有五种:
1.Unrealized 未实现
2.Realized 以实现
3.Prefetched 预抓取
4.Started 开始
5.Closed 关闭
Player实例要获取系统资源并处理媒体内容以确定其内容类型或执行其他操作,可以通过调用实例的deallocate方法停止实现过程,但必须在Player实例完成到已实现状态的转变之前进行调用,一旦实现,Player实例将不能返回到未实现状态。
package com.mopietek;
import java.io.IOException;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.media.Manager;
import javax.microedition.media.Player;
import javax.microedition.media.control.ToneControl;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class SequenceTone extends MIDlet{
public Display display;
public Form form;
public SequenceTone(){
display = Display.getDisplay(this);
form = new Form("Info Form");
}
public void toneSequence(){
byte tempo = 30;
byte d = 8;
byte C4 = ToneControl.C4;
byte D4 = (byte) (C4 + 2);
byte E4 = (byte) (C4 + 4);
byte F4 = (byte) (C4 + 5);
byte G4 = (byte) (C4 + 7);
byte rest = ToneControl.SILENCE;
byte [] mySequence = {
ToneControl.VERSION,1,ToneControl.TEMPO,tempo,ToneControl.BLOCK_START,
0,C4, d, F4, d, F4, d, C4, d, F4, d, F4, d, C4, d, F4, d,
ToneControl.BLOCK_END,0,ToneControl.BLOCK_START,1,C4, d, E4, d, E4, C4, d, E4,ToneControl.BLOCK_END,1,
ToneControl.PLAY_BLOCK,0,
ToneControl.PLAY_BLOCK,1,
ToneControl.PLAY_BLOCK,0
};
try{
//创建Player //资源
Player p = Manager.createPlayer(Manager.TONE_DEVICE_LOCATOR);
p.realize(); //已实现
ToneControl c = (ToneControl) p.getControl("ToneControl");
c.setSequence(mySequence);
p.prefetch(); //预抓取
p.start(); //读取音频
}catch(IOException e){
System.out.println("IO异常:"+e.toString());
e.printStackTrace();
}catch(Exception ee){
System.out.println("异常:"+ee.toString());
ee.printStackTrace();
}
}
protected void destroyApp(boolean unconditional) throws MIDletStateChangeException {
display = null;
form = null;
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
display.setCurrent(form);
toneSequence();
}
}
通过资源文件获取方式代码:
try{
//获取音频文件
InputStream is = getClass().getResourceAsStream(soundFile);
player = Manager.createPlayer(is,soundType);
player.realize();
player.prefetch();
player.start();
}catch(MediaException ex){
ex.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
分享到:
相关推荐
分享:J2ME游戏代码 分享:J2ME游戏代码 分享:J2ME游戏代码分享:J2ME游戏代码 分享:J2ME游戏代码 分享:J2ME游戏代码分享:J2ME游戏代码 分享:J2ME游戏代码 分享:J2ME游戏代码分享:J2ME游戏代码 分享:J2ME...
J2me音频测试工具
J2me赤血英豪源代码(6种机型)J2me赤血英豪源代码(6种机型)
J2me太空英雄源代码J2me太空英雄源代码J2me太空英雄源代码J2me太空英雄源代码J2me太空英雄源代码J2me太空英雄源代码J2me太空英雄源代码J2me太空英雄源代码
j2me开发大全源代码.zip
基于java的开发源码-简单模拟的J2ME潜艇大战源代码.zip 基于java的开发源码-简单模拟的J2ME潜艇大战源代码.zip 基于java的开发源码-简单模拟的J2ME潜艇大战源代码.zip 基于java的开发源码-简单模拟的J2ME潜艇大战源...
基于java的开发源码-蜀山剑侠传游戏J2ME手机版源代码.zip 基于java的开发源码-蜀山剑侠传游戏J2ME手机版源代码.zip 基于java的开发源码-蜀山剑侠传游戏J2ME手机版源代码.zip 基于java的开发源码-蜀山剑侠传游戏J2ME...
用j2me编写的 时区查看,选择 程序 附源代码,初学者请看
几个J2ME手机游戏源代码,包含经典的飞机射击游戏,俄罗斯方块等……
J2ME暗黑佣兵源代码J2ME暗黑佣兵源代码J2ME暗黑佣兵源代码J2ME暗黑佣兵源代码J2ME暗黑佣兵源代码J2ME暗黑佣兵源代码
J2ME扫雷源代码J2ME扫雷源代码J2ME扫雷源代码J2ME扫雷源代码J2ME扫雷源代码J2ME扫雷源代码J2ME扫雷源代码J2ME扫雷源代码J2ME扫雷源代码J2ME扫雷源代码J2ME扫雷源代码J2ME扫雷源代码
J2me 游戏代码
J2ME时钟代码J2ME时钟代码J2ME时钟代码
自己做的j2me吃豆子源代码,大家需要请拉去
J2ME高手的代码宝库,囊括J2ME经典的算法函数,直接复制就可用。源码带详细注释
多款J2ME游戏源代码 代码详细
j2me手机计算器源代码 j2me手机计算器源代码
J2me剑神游戏源代码.rarJ2me剑神游戏源代码.rarJ2me剑神游戏源代码.rarJ2me剑神游戏源代码.rar
J2ME实例 j2me源代码 很容易理解,对学习j2me很有帮助
基于J2ME手机游戏源代码。自己写的,还没测试,看看吧,有指点的欢迎讨教。