J2ME学习(三)——如何播放声音

在J2ME中,处理声音需要使用到Mobile Media API(MMAPI),该包是MIDP1.0的可选包,在MIDP2.0中已经包含了这个包。所以如果你使用MIDP1.0的话,请确认你的运行环境是否支持。

一般手机支持的声音文件格式为wav、mid和mpg等。具体请查阅你的手机说明文档。

在声音处理中,有很多处理的方式,这里说一下最常用的情况,播放JAR文件中的wav文件。

播放声音文件的流程:

1、 按照一定的格式读取声音文件。

播放JAR文件中的声音文件一般是将声音文件处理成流的形式。示例代码:

InputStream is = this.getClass().getResourceAsStream("/Autorun.wav");

其中Autorun.wav文件位于JAR文件的根目录下,如果位于别的目录,需要加上目录名称,如/res /Autorun.wav。

2、 将读取到的内容传递给播放器。

将流信息传递给播放器,播放器按照一定的格式来进行解码操作,示例代码:

Player player = Manager.createPlayer(is,"audio/x-wav");

其中第一个参数为流对象,第二个参数为声音文件的格式。

3、 播放声音。

使用Player对象的start方法,可以将声音播放出来,示例代码:

player.start();

在播放声音时也可以设定声音播放的次数,可以使用Player类中的setLoopCount方法来实现,具体可查阅API文档。

下面是在NOKIA S60模拟器中测试通过。代码如下:

package sound;

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

import javax.microedition.media.*;

import java.io.*;

public class SoundMIDlet extends MIDlet {

private Player player = null;

/** Constructor */

public SoundMIDlet() {

try{

InputStream is = this.getClass().getResourceAsStream("/Autorun.wav");

player = Manager.createPlayer(is,"audio/x-wav");

}catch(IOException e){

System.out.println("1:" + e);

}catch(MediaException e){

System.out.println("2:" + e);

}catch(Exception e){

System.out.println("3:" + e);

}

}

/** Main method */

public void startApp() {

if(player != null){

try{

player.start();

}catch(MediaException e){

System.out.println("4:" + e);

}

}

}

/** Handle pausing the MIDlet */

public void pauseApp() {

}

/** Handle destroying the MIDlet */

public void destroyApp(boolean unconditional) {

}

}

时间: 2025-01-11 15:05:02

J2ME学习(三)——如何播放声音的相关文章

J2ME学习——从WTK到厂商SDK

J2ME学习--从WTK到厂商SDK 作者:陈跃峰 出自:http://blog.csdn.net/mailbomb          对于J2ME爱好者来说,基本上大家都是从SUN的WTK(J2ME Wireless Toolkit)开始的,但是对于实际应用来说,仅仅使用WTK是远远不够的,所以在学习过程中,必须完成从WTK到SDK的跨越. 1.  厂商SDK的下载地址? http://blog.csdn.net/Mailbomb/archive/2005/01/01/236606.aspx

J2ME学习——从模拟器到真机

J2ME学习--从模拟器到真机 作者:陈跃峰 出自:http://blog.csdn.net/mailbomb          对于J2ME开发者来说,模拟器给我们带来了很多方便,比如可以在模拟器中调试程序以及很方便的察看程序的效果,但是模拟器也给我们带来了一些问题,比如模拟器实现的bug等等,所以进行真机测试是必须的. 1.  为什么要进行真机测试? 因为模拟器程序可能存在bug,以及真机的性能有限,所以必须进行真机测试. 2.  如何将程序传输到机器中? 将程序传输到机器中有如下方式: a

[20120509]IOT索引组织表相关信息的学习(三).txt

[20120509]IOT索引组织表相关信息的学习(三).txt 上次链接:http://space.itpub.net/267265/viewspace-719517http://space.itpub.net/267265/viewspace-717272 IOT 是一种特殊的索引结构,使用它能够解决特定场合的应用问题,但是在许多应用中很少使用,更多的是使用堆表.我仅仅在生产系统中对3个表使用,我偏向使用静态以及"只读"的小表. 如果IOT表存在除主键外的第2索引,如果使用它存在物

J2ME学习笔记(三)

笔记 从今天开始我想我会有很长一段时间不会涉及真正的实际开发,这一段时间主要集中在基础的学习之 上.呵呵,不会走,我哪敢跑那?不过主要是因为暂时不用赶着给兄弟作东西,所以想好好学习一下.不 过代码肯定还是会写一些的.毕竟,多写代码才能更快的学习^_^ 呵呵,一步一步开始手机开发之旅途了.不知道我能不能坚持把这一块学完,因为公司工作压力也很 大.平时基本上没有休息,周末也还有一堆事情要做.所以也是很苦闷的一个方面.呵呵.尽力好了.一 直作web也不是办法,呵呵,多学一点说不定以后用得着.毕竟手持设

J2ME学习笔记(一)

笔记 首先我像声明的是对J2ME我的确很外行,而且因为工作和此没有关系,所以肯定会有很多很多让高手 们看起来很弱智的东西,呵呵,希望大家不要bs就好.同时希望高手也来指点一下小弟.呵呵. 个人兴趣,看看j2me的东西.其实也主要是为了帮一个兄弟完成他的毕业设计.呵呵,不知道他每天 在US忙些什么东西,反正只知道我一问他就会告诉我他要去上班..算了,不管他了.直接等他回来再说 咯. 目前已经看了3天这方面的东西,第一天是看了一些j2me的基本概念.唉,这些东西从来没有接触过 ,没有办法,没有基本概

J2ME学习笔记(八)

笔记 今天买了2.5磅咖啡豆,星巴克的.有点点贵,用了599大洋,呵呵,偶尔奢侈一下也不为过嘛.刚刚磨了一杯咖啡,点上烟,呵呵,继续开始j2me的学习历程.虽说今天星期六,可是估计今天看不了多少,明天要去公司加班,所以今天还是要早点休息...想想前几个星期,soho的时候每天晚上就是我的工作时间,白天嘛..嘿嘿,睡觉...那真是幸福呀...好日子不再咯... 呵呵,TextBox,好像看名字就知道干什么的了,HTML里面的输入框.呵呵,感觉应该差不多.写一个(和TextBox有相同使用方法的还有

盖茨:向巴菲特学习三件事

盖茨(左)与巴菲特 6月17日消息,不论你多富有或者多成功,都有学习和进步的空间,比尔-盖茨证明了这点.最近,盖茨在LinkedIn上刊文,称自己从巴菲特身上学到了三件事. 下面就是盖茨刊发的文章: 上个月,我去奥玛哈(Omaha)参加伯克希尔·哈撒韦公司年度股东大会.当中乐趣多多,不只是因为有乒乓球比赛和报纸投掷比赛,还因为我可以向巴菲特学习,知道他是如何思考的. 下面是我过去几年从巴菲特身上学到的三件事: 1.不只是投资 人们从巴菲特身上学到的第一件事是如何投资,考虑到他卓越的投资战绩,这也

零基础入门深度学习(三):卷积神经网络

投稿:Intelligent Software Development 团队介绍:团队成员来自一线互联网公司,工作在架构设计与优化.工程方法研究与实践的最前线,曾参与搜索.互联网广告.共有云/私有云等大型产品的设计.开发和技术优化工作.目前主要专注在机器学习.微服务架构设计.虚拟化/容器化.持续交付/DevOps等领域,希望通过先进技术和工程方法最大化提升软件和服务的竞争力.   在前面的文章中,我们介绍了全连接神经网络,以及它的训练和使用.我们用它来识别了手写数字,然而,这种结构的网络对于图像

Mysql 5.7 Gtid内部学习(三) Gtid和Last_commt/sequnce_number的生成时机

一.Gtid生成类型 这里首先使用源码的解释给出三种类型: AUTOMATIC_GROUP GTID_GROUP ANONYMOUS_GROUP 其中AUTOMATIC_GROUP通常用于主库开启Gtid的情况,GTID_GROUP通常用于备库和使用了GTID_NEXT的情况下. 源码中有详细解释如下: /** Specifies that the GTID has not been generated yet; it will be generated on commit. It will d