`

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

阅读更多

J2ME学习()——如何播放声音<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />



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

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

在声音处理中,有很多处理的方式,这里说一下最常用的情况,播放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) {

}

}


更多文章请访问我的blog : http://blog.csdn.net/mailbomb

分享到:
评论

相关推荐

    J2ME学习——如何播放声音

    在Java 2 Micro Edition (J2ME)环境中,开发移动应用时可能会涉及到播放声音的需求。J2ME 提供了 Mobile Media API (MMAPI) 来处理多媒体内容,包括音频。MMAPI 是MIDP (Mobile Information Device Profile) 1.0 的...

    j2me手机游戏——扫雷

    《j2me手机游戏——扫雷》是一款基于Java 2 Micro Edition (J2ME) 平台开发的经典游戏,旨在为手机用户提供与Windows系统扫雷相似的娱乐体验。这款扫雷游戏具有高度的适应性,能够自动适应不同屏幕尺寸,同时配备了...

    J2ME游戏开发之RPG——源码

    **J2ME游戏开发之RPG——源码详解** J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如早期的智能手机和平板电脑。在J2ME中开发角色扮演游戏(RPG)是一项挑战性的任务,...

    仙剑1.8寸屏模板——j2me

    综上所述,《仙剑1.8寸屏模板——j2me》是一个关于J2ME游戏开发的实例,涉及到了移动设备上的游戏适配、资源优化、平台特性和开发技巧等多个方面,对于想要涉足移动游戏开发的程序员来说,是一份宝贵的学习材料。

    J2ME中文教程,J2ME手机程序开发

    它提供了高级图形绘制功能,如位图操作、动画处理、声音播放等,使得开发者能创建更具交互性和动态效果的游戏。 ### 学习路径与实践 学习J2ME,首先要理解CLDC和MIDP的概念,熟悉其提供的类库和API。然后,通过...

    J2ME版贪吃蛇游戏

    这个标题表示我们将讨论一个使用J2ME技术实现的经典游戏——贪吃蛇。在J2ME平台上开发游戏,开发者需要熟悉Java语言基础以及J2ME提供的特定API。 【描述】中提到的"博文链接:...

    劲乐团 J2ME 移植

    J2ME虽然不支持复杂的音频处理,但通过使用MIDlet的MidiPlayer或SoundPlayer类,开发者可以播放MIDI或WAV格式的音频文件。为了实现音乐与游戏动作的同步,他们可能需要精确控制音频播放的时间点,并且结合游戏逻辑...

    J2ME手机游戏 —打地鼠

    《J2ME手机游戏——打地鼠》 Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机。这款"打地鼠"游戏就是利用J2ME技术开发的一款经典休闲游戏,通过简单的操作和...

    j2me毕业设计

    **J2ME毕业设计——构建小游戏** J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为资源有限的移动设备如手机、PDA等设计,它提供了开发和部署嵌入式应用程序的框架。在本毕业设计中,我们将深入探讨如何...

    基于J2ME的手机五子棋游戏+源码+.jar——里面的jar文件可装到手机里安装

    7. 打包和部署:学习如何将J2ME应用打包为.JAR文件,并将其安装到支持J2ME的设备上。 通过研究这个项目,初学者不仅可以深入理解J2ME技术,还能提升游戏开发技能,对于想要进入移动开发领域的开发者来说是一份宝贵...

    J2ME超级玛丽代码及图片

    8. **资源管理**:学习如何加载和管理游戏中的图像、声音等资源,以优化内存使用。 通过实践这个项目,初学者不仅可以提升编程技能,还能深入理解游戏开发的基本原理,为未来更复杂的项目打下坚实的基础。

    j2me 游戏案例精选

    总的来说,尽管原始压缩包可能存在文件损坏的问题,但其内容——J2ME游戏案例,对于那些想要踏入移动游戏开发领域,特别是对J2ME感兴趣的开发者来说,仍然是宝贵的教育资源。他们可以通过这些案例学习如何在限制性较...

    基于的j2me坦克大战

    5. 音效:播放游戏音效,如坦克移动、射击和爆炸声音。 三、J2ME游戏开发关键技术 1. Canvas绘图:Canvas是J2ME中进行图形绘制的主要接口,开发者可以通过它创建自定义的用户界面。坦克、地图、子弹等游戏元素都是...

    j2me手机游戏之俄罗斯方块

    本篇文章将深入探讨如何使用J2ME技术开发一款经典的手机游戏——俄罗斯方块。我们将从源代码分析、编译环境搭建到游戏功能实现进行详细介绍。 首先,让我们了解J2ME。J2ME是Java平台的一个子集,专门针对资源有限的...

    dianziqin.zip_dianziqin_j2me

    《电子琴游戏——dianziqin.zip_dianziqin_j2me详解》 本文将深入探讨一款基于Java 2 Micro Edition(J2ME)技术开发的电子琴...对于想要学习J2ME开发或者对移动游戏编程感兴趣的读者,这款游戏是一个很好的学习实例。

    j2me动作类手机游戏源代码(本人原创)

    6. 声音和音乐:虽然J2ME的音频支持有限,但依然可以播放简单的背景音乐和音效。通过MIDP的MidiPlayer和WavePlayer类,开发者可以加载和播放MIDI或WAV格式的音频资源,提升游戏体验。 7. 用户界面:游戏界面包括...

    j2me 手机游戏 超级玛丽源代码.rar

    3. 声音播放:J2ME支持MIDI和波形音频,可以实现背景音乐和音效的播放。AudioPlayer类用于控制音频播放。 4. 多线程:为了实现流畅的游戏体验,通常会将游戏逻辑和用户界面更新放在不同的线程中处理,避免阻塞UI。 ...

    j2me 超级玛丽(简化)

    《J2ME超级玛丽(简化)》是一款基于Java 2 Micro Edition(J2ME)平台开发的简单版经典游戏——超级玛丽。对于初次接触J2ME或者游戏开发的初学者来说,这是一个很好的学习实践项目。它将原版超级玛丽的游戏机制进行...

    J2ME手机游戏实例之--俄罗斯方块

    本实例将探讨如何使用J2ME开发经典游戏——俄罗斯方块。在手机上实现这个游戏,开发者需要掌握J2ME的基础知识,包括MIDP(Mobile Information Device Profile)和CLDC(Connected Limited Device Configuration)。 ...

Global site tag (gtag.js) - Google Analytics