J2ME播放聲音流程簡介_JSP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:J2ME開發之手機鍵盤使用注意問題
      在J2ME程序的開發過程中,經常需要接受用戶的輸入,而所有這些的輸入都是通過手機鍵盤進行的,下面介紹一下在使用的時候需要注意的問題。 在高級用戶界面開發中,只能使用功能鍵來

      在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)

      {

      }

      }

        

      分享:J2ME 記錄管理存儲
      移動信息設備框架(Mobile Information Device Profile)和 移動 Java 應用程序的平臺 為 MIDP 應用程序提供一種跨多個調用持久存儲數據的機制。這種持久存儲機制可以被視為一種簡單的

      來源:模板無憂//所屬分類:JSP教程/更新時間:2008-08-22
      相關JSP教程