<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時間:2012-05-07 來源:網(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

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

          /**

          *音頻事件的處理

          */

          publicvoidaudioAction(AudioClipsound,intevent,intparam){

          if(sound==a){

          if(event==AudioListener.AUDIO_COMPLETE){

          sound.play();

          }

          }

          }

          ex.3

          制作

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

          本講中制作的是簡單的“泡泡龍”游戲。

          ■游戲方法

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

          ■準(zhǔn)備工作

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

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

          圖1球的圖片

          圖2小棒的圖片

          圖3彩球的圖片

          ·背景音樂(bgm.mid)

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

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

          ■設(shè)計(jì)

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

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

          Figure4

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

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

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

          2.變量、常量的定義

          3.查看圖片和音效

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

          5.球的反彈

          6.音樂的播放

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

          下表內(nè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;//彩球橫向的個數(shù)

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

          privatefinalintBLOCK_WIDTH=getWidth()/BLOCK_H;

          privatefinalintBLOCK_HEIGHT=BLOCK_WIDTH/2;

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

          privateintblockCount;//彩球個數(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;

          //畫面類

          privateImagebarImg=null;

          privateImageballImg=null;

          privateImageblockImg=null;

          //音效類

          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,讀取彩球圖片并描畫在畫面中。用旗表示彩球的狀態(tài)。保持原來的排列。將一個一個的彩球使用原來的排列并計(jì)算出坐標(biāo),安排在畫面中。(ex.6)

          //查看彩球

          g.setColor(0,0,255);

          for(inti=0;i

          for(intj=0;j



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

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();