色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 在MIDP應(yīng)用程序中播放聲音

          在MIDP應(yīng)用程序中播放聲音

          作者: 時(shí)間:2012-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

          }

          /**

          *描繪處理

          */

          protectedvoidpaint(Graphicsg){

          g.setColor(255,255,255);

          g.fillRect(0,0,getHeight(),getWidth());

          g.setColor(0,0,0);

          g.drawString(MusicPlay?,50,52,Graphics.TOP|Graphics.LEFT);

          g.drawString(

          channel=+a.getChannel(),

          30,

          64,

          Graphics.TOP|Graphics.LEFT);

          g.drawString(

          lapsedtime=+a.getLapsedTime(),

          30,

          76,

          Graphics.TOP|Graphics.LEFT);

          g.drawString(

          tempo=+a.getTempo(),

          30,

          88,

          Graphics.TOP|Graphics.LEFT);

          g.drawString(

          time=+a.getTime(),

          30,

          100,

          Graphics.TOP|Graphics.LEFT);

          }

          /**

          *命令事件的處理

          */

          publicvoidcommandAction(Commandc,Displayabled){

          System.out.println(test);

          if(c.equals(START)){

          a.play();

          }elseif(c.equals(STOP)){

          a.stop();

          }

          }

          /**

          *線程的處理

          *刷新查看

          */

          publicvoidrun(){

          while(true){

          repaint();

          try{

          Thread.sleep(500);

          }catch(Exceptione){

          }

          }

          }

          }

          ex.2

          接受表示音樂(lè)結(jié)束的事件后,根據(jù)明確的開(kāi)始音樂(lè)菜單可以無(wú)限循環(huán)地音樂(lè)。下面的演示詳細(xì)記述了上述例子中的audioAction方法,能夠?qū)崿F(xiàn)無(wú)限循環(huán)播放。(ex.3)

          /**

          *音頻事件的處理

          */

          publicvoidaudioAction(AudioClipsound,intevent,intparam){

          if(sound==a){

          if(event==AudioListener.AUDIO_COMPLETE){

          sound.play();

          }

          }

          }

          ex.3

          制作

          接下來(lái)制作實(shí)際的發(fā)聲。

          本講中制作的是簡(jiǎn)單的“泡泡龍”游戲。

          ■游戲方法

          移動(dòng)小棒接住反彈的球使其不掉下去,使上方的彩球逐漸消失的游戲。彩球完全消失并清除后,球再落下則此游戲通過(guò)。

          ■準(zhǔn)備工作

          準(zhǔn)備游戲必備的圖片和音效。

          準(zhǔn)備以下圖片。

          圖1球的圖片

          圖2小棒的圖片

          圖3彩球的圖片

          ·背景音樂(lè)(bgm.mid)

          ·球反彈時(shí)的音效(ball.mid)

          ·彩球破碎時(shí)的音效(block.mid)

          ■設(shè)計(jì)

          以下是狀態(tài)連接圖(4)

          本講中為了簡(jiǎn)單化,在啟動(dòng)的同時(shí)立刻就啟動(dòng)游戲。形成游戲開(kāi)始、球落下后游戲結(jié)束、全部清除彩球后游戲過(guò)關(guān)。

          Figure4

          ■制作應(yīng)用程序

          現(xiàn)在我們按照以下順序制作應(yīng)用程序。

          1.類(lèi)結(jié)構(gòu)

          2.變量、常量的定義

          3.查看圖片和音效

          4.使圖片運(yùn)動(dòng)

          5.球的反彈

          6.音樂(lè)的播放

          1.類(lèi)結(jié)構(gòu)

          下表內(nèi)容是類(lèi)結(jié)構(gòu)。(表5)

          360截圖20120507113322299.jpg

          表5

          2.變量、常量的定義

          將下面的應(yīng)用變量、定量作為BlockCanvas例子的屬性并定義。(ex.4)

          //狀態(tài)設(shè)定

          privateintstate;//狀態(tài)

          privatefinalintACTIVE=1;

          privatefinalintGAME_OVER=2;

          privatefinalintCLEAR=3;

          //彩球的設(shè)定

          privatefinalintBLOCK_H=7;//彩球橫向的個(gè)數(shù)

          privatefinalintBLOCK_V=5;//彩球縱向的個(gè)數(shù)

          privatefinalintBLOCK_WIDTH=getWidth()/BLOCK_H;

          privatefinalintBLOCK_HEIGHT=BLOCK_WIDTH/2;

          privatebooleanblock[][]=newboolean[BLOCK_H][BLOCK_V];

          privateintblockCount;//彩球個(gè)數(shù)

          //小棒的設(shè)定

          privatefinalintBAR_HEIGHT=11;

          privatefinalintBAR_WIDTH=23;

          privateintbarX=0;

          privateintbarY=getHeight()-BAR_HEIGHT;

          privateintbarMovCodeExample=0;

          //球的設(shè)定

          privatefinalintBALL_HEIGHT=10;

          privatefinalintBALL_WIDTH=10;

          privateintballX;

          privateintballY;

          privateintballMovCodeExample=5;

          privateintballMoveY=5;

          privateThreadth;

          //畫(huà)面類(lèi)

          privateImagebarImg=null;

          privateImageballImg=null;

          privateImageblockImg=null;

          //音效類(lèi)

          privateAudioClipbgm;//Backgroundmusic

          privateAudioClipballSound;//Soundofbouncingball

          privateAudioClipblockSound;//Soundofdestroyingblocks

          ex.4

          3.查看圖片和音效

          查看準(zhǔn)備好的圖片和音效。BlockCanvas的構(gòu)造函數(shù)內(nèi)分別讀取小棒、球、彩球的圖片。(ex.5)

          //讀取圖片

          try{

          barImg=Image.createImage(/bar.png);

          ballImg=Image.createImage(/ball.png);

          blockImg=Image.createImage(/block.png);

          }catch(CodeExampleceptione){

          e.printStackTrace();

          }

          ex.5

          能查看讀取后的圖片。

          彩球在圖中的分配為橫7縱5,讀取彩球圖片并描畫(huà)在畫(huà)面中。用旗表示彩球的狀態(tài)。保持原來(lái)的排列。將一個(gè)一個(gè)的彩球使用原來(lái)的排列并計(jì)算出坐標(biāo),安排在畫(huà)面中。(ex.6)

          //查看彩球

          g.setColor(0,0,255);

          for(inti=0;i

          for(intj=0;j



          關(guān)鍵詞: 聲音 播放 應(yīng)用程序 MIDP

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉