新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 在MIDP应用程序中播放声音

在MIDP应用程序中播放声音

作者:时间:2012-05-07来源:网络收藏

//数据的读取

本文引用地址:http://www.eepw.com.cn/article/149129.htm

bgm=Media.getAudioClip(/bgm.mid);//背景音乐

ballSound=Media.getAudioClip(/ball.mid);//球反弹后的音效

blockSound=Media.getAudioClip(/block.mid);//球破碎的音效

bgm.addAudioListener(this);//增加AudioListener

ex.13

·

读取音乐数据后,接下来进行。BGM在游戏开始的同时能够,所以在AudioCanvas类的start方法中记述播放处理并能够播放出来。

球的音效:用moveBall方法进行下面反弹判断时,能够播放音效。(ex.14)

//反弹

//碰边壁后反弹

if(ballX0){

ballMoveX*=-1;

ballX=0;

//播放音效

ballSound.play();

}elseif(getWidth()

ballX=getWidth()-BALL_HEIGHT;

ballMoveX*=-1;

//播放音效

ballSound.play();

}

if(ballY0){

ballMoveY*=-1;

ballY=0;

//播放音效

ballSound.play();

}elseif(ballY>getHeight()){//球落下后

//游戏结束

state=GAME_OVER;

}

//碰上小棒反弹

if(ballY+BALL_HEIGHT>barY

ballX+BALL_WIDTH>barX

ballX

ballMoveY*=-1;

ballY=barY-BALL_HEIGHT;

if(barMoveX0){

ballMoveX-=2;

}elseif(barMoveX>0){

ballMoveX+=2;

}

//播放音效

ballSound.play();

}

ex.14

彩球的音效:用moveBall方法判定彩球的碰撞时,如下记述并能够播放。(ex.15)

//碰上彩球后反弹

for(inti=0;i

for(intj=0;j

if(block[i][j]){

if(ballX+BALL_WIDTH>i*BLOCK_WIDTH

ballX(i+1)*BLOCK_WIDTH){

if(ballY+BALL_HEIGHT>(j+1)*BLOCK_HEIGHT

ballY(j+2)*BLOCK_HEIGHT){

block[i][j]=false;

ballMoveY*=-1;

//播放音效

blockSound.play();

}

}

}

}

}

ex.15

■完成

下面是实际制作的程序一式。(BlockApplication.zip)

运行结果如下所示。

游戏进行中游戏结束

游戏结束

总结

在本讲的讲解中能够自由播放音乐数据了。因此,能够制作成创造性的。但是,扩展时,不能保存高分、数据等。在下讲我们将学习如何使用固定存储器保存数据的方法。

查看png格式的画面文件

播放smf格式的音乐文件

http通信,socket通信

逆光、双感光板控制

Sprite功能

ImageMap功能

各种各样的制图扩展功能

3D引擎

由于N820具有256Kbyte的较大存储空间,所以能制作容量稍大、自由度较高的手机。另外,也能制作对应http、socket通信的自由度较高网络应用程序。因此,也能够搭载3D引擎、3D描画。而且还能安装N800对应的Sprite功能、ImageMap功能的描画功能。

■与N800的比较

下表是N800和N820的比较。(表6)

项目N800N820

显示屏尺寸180x162(纵x横)255x240(纵x横)

JAD文件尺寸最大2KB最大2KB

JAR文件尺寸最大50KB最大1MB

RMS尺寸最大10KB最大10KB

记录存储数量最大3records最大3records

通信协议只有httpHTTPandsocket

画像文件PNGPNG

音乐文件SMF(format0)最大10KbyteSMF(format0)最大10Kbyte

表6

■NECN820Application模拟器

下面是模拟N820工作的模拟器,称为「NEC820ApplicationEmulator」。与以前我们所介绍的「NECN800ApplicationEmulator」在外观上没有什么区别。(5)

图5

打开模拟器,就是现在的手机画面表示。与N800相比,手机设计多少有些变化,手机的内显示屏变大了。下图是用N820ApplicationEmulator制作的“泡泡龙”游戏画面。“泡泡龙”游戏由于是假定在N800的屏幕上应用的。因此画面尺寸要比N820中的内屏尺寸稍小。因此,彩球之间存有空隙。(6)

6

■总结

N820的优点是具有256Kbyte的大容量存储空间,而且使用3D图表引擎、3D图表应用程序、能够制作成对应socket通信的TCP/IP网络应用程序。对于应用开发者而言,N820是一部制作JAVA应用程序非常有价值的终端。对于寻求高级机种的用户而言,应该是一部高精细画面、高功能的极大满足用户需要的终端。今后N820的用户应该会大幅度增加的。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭