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

          新聞中心

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

          在MIDP應用程序中播放聲音

          作者: 時間:2012-05-07 來源:網絡 收藏

          //數據的讀取

          本文引用地址:http://www.ex-cimer.com/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)

          運行結果如下所示。

          游戲進行中游戲結束

          游戲結束

          總結

          在本講的講解中能夠自由播放音樂數據了。因此,能夠制作成創(chuàng)造性的。但是,擴展時,不能保存高分、數據等。在下講我們將學習如何使用固定存儲器保存數據的方法。

          查看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

          通信協(xié)議只有httpHTTPandsocket

          畫像文件PNGPNG

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

          表6

          ■NECN820Application模擬器

          下面是模擬N820工作的模擬器,稱為「NEC820ApplicationEmulator」。與以前我們所介紹的「NECN800ApplicationEmulator」在外觀上沒有什么區(qū)別。(5)

          圖5

          打開模擬器,就是現在的手機畫面表示。與N800相比,手機設計多少有些變化,手機的內顯示屏變大了。下圖是用N820ApplicationEmulator制作的“泡泡龍”游戲畫面。“泡泡龍”游戲由于是假定在N800的屏幕上應用的。因此畫面尺寸要比N820中的內屏尺寸稍小。因此,彩球之間存有空隙。(6)

          6

          ■總結

          N820的優(yōu)點是具有256Kbyte的大容量存儲空間,而且使用3D圖表引擎、3D圖表應用程序、能夠制作成對應socket通信的TCP/IP網絡應用程序。對于應用開發(fā)者而言,N820是一部制作JAVA應用程序非常有價值的終端。對于尋求高級機種的用戶而言,應該是一部高精細畫面、高功能的極大滿足用戶需要的終端。今后N820的用戶應該會大幅度增加的。


          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();