J2ME学习(三)——如何播放声音<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
在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) {
}
}
更多文章请访问我的blog : http://blog.csdn.net/mailbomb
分享到:
相关推荐
在Java 2 Micro Edition (J2ME)环境中,开发移动应用时可能会涉及到播放声音的需求。J2ME 提供了 Mobile Media API (MMAPI) 来处理多媒体内容,包括音频。MMAPI 是MIDP (Mobile Information Device Profile) 1.0 的...
《j2me手机游戏——扫雷》是一款基于Java 2 Micro Edition (J2ME) 平台开发的经典游戏,旨在为手机用户提供与Windows系统扫雷相似的娱乐体验。这款扫雷游戏具有高度的适应性,能够自动适应不同屏幕尺寸,同时配备了...
**J2ME游戏开发之RPG——源码详解** J2ME(Java 2 Micro Edition)是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如早期的智能手机和平板电脑。在J2ME中开发角色扮演游戏(RPG)是一项挑战性的任务,...
综上所述,《仙剑1.8寸屏模板——j2me》是一个关于J2ME游戏开发的实例,涉及到了移动设备上的游戏适配、资源优化、平台特性和开发技巧等多个方面,对于想要涉足移动游戏开发的程序员来说,是一份宝贵的学习材料。
它提供了高级图形绘制功能,如位图操作、动画处理、声音播放等,使得开发者能创建更具交互性和动态效果的游戏。 ### 学习路径与实践 学习J2ME,首先要理解CLDC和MIDP的概念,熟悉其提供的类库和API。然后,通过...
这个标题表示我们将讨论一个使用J2ME技术实现的经典游戏——贪吃蛇。在J2ME平台上开发游戏,开发者需要熟悉Java语言基础以及J2ME提供的特定API。 【描述】中提到的"博文链接:...
J2ME虽然不支持复杂的音频处理,但通过使用MIDlet的MidiPlayer或SoundPlayer类,开发者可以播放MIDI或WAV格式的音频文件。为了实现音乐与游戏动作的同步,他们可能需要精确控制音频播放的时间点,并且结合游戏逻辑...
《J2ME手机游戏——打地鼠》 Java 2 Micro Edition(J2ME)是Java平台的一个子集,主要用于嵌入式设备和移动设备,如早期的智能手机。这款"打地鼠"游戏就是利用J2ME技术开发的一款经典休闲游戏,通过简单的操作和...
**J2ME毕业设计——构建小游戏** J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为资源有限的移动设备如手机、PDA等设计,它提供了开发和部署嵌入式应用程序的框架。在本毕业设计中,我们将深入探讨如何...
今天,我们将探讨一个由初学者独立完成的第一个J2ME小游戏——一个简单却充满挑战的项目,它不仅让开发者赚取了宝贵的积分,也为其他人提供了学习和娱乐的双重价值。 Java ME,作为Java平台的一个分支,它的设计...
7. 打包和部署:学习如何将J2ME应用打包为.JAR文件,并将其安装到支持J2ME的设备上。 通过研究这个项目,初学者不仅可以深入理解J2ME技术,还能提升游戏开发技能,对于想要进入移动开发领域的开发者来说是一份宝贵...
8. **资源管理**:学习如何加载和管理游戏中的图像、声音等资源,以优化内存使用。 通过实践这个项目,初学者不仅可以提升编程技能,还能深入理解游戏开发的基本原理,为未来更复杂的项目打下坚实的基础。
总的来说,尽管原始压缩包可能存在文件损坏的问题,但其内容——J2ME游戏案例,对于那些想要踏入移动游戏开发领域,特别是对J2ME感兴趣的开发者来说,仍然是宝贵的教育资源。他们可以通过这些案例学习如何在限制性较...
5. 音效:播放游戏音效,如坦克移动、射击和爆炸声音。 三、J2ME游戏开发关键技术 1. Canvas绘图:Canvas是J2ME中进行图形绘制的主要接口,开发者可以通过它创建自定义的用户界面。坦克、地图、子弹等游戏元素都是...
本篇文章将深入探讨如何使用J2ME技术开发一款经典的手机游戏——俄罗斯方块。我们将从源代码分析、编译环境搭建到游戏功能实现进行详细介绍。 首先,让我们了解J2ME。J2ME是Java平台的一个子集,专门针对资源有限的...
《电子琴游戏——dianziqin.zip_dianziqin_j2me详解》 本文将深入探讨一款基于Java 2 Micro Edition(J2ME)技术开发的电子琴...对于想要学习J2ME开发或者对移动游戏编程感兴趣的读者,这款游戏是一个很好的学习实例。
6. 声音和音乐:虽然J2ME的音频支持有限,但依然可以播放简单的背景音乐和音效。通过MIDP的MidiPlayer和WavePlayer类,开发者可以加载和播放MIDI或WAV格式的音频资源,提升游戏体验。 7. 用户界面:游戏界面包括...
3. 声音播放:J2ME支持MIDI和波形音频,可以实现背景音乐和音效的播放。AudioPlayer类用于控制音频播放。 4. 多线程:为了实现流畅的游戏体验,通常会将游戏逻辑和用户界面更新放在不同的线程中处理,避免阻塞UI。 ...
《J2ME超级玛丽(简化)》是一款基于Java 2 Micro Edition(J2ME)平台开发的简单版经典游戏——超级玛丽。对于初次接触J2ME或者游戏开发的初学者来说,这是一个很好的学习实践项目。它将原版超级玛丽的游戏机制进行...