程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> 在J2ME程序中實現聲音播放

在J2ME程序中實現聲音播放

編輯:JAVA編程入門知識
  在J2ME中,處理聲音需要使用到Mobile Media API(MMAPI),該包是MIDP1.0的可選包,在MIDP2.0中已經包含了這個包。所以假如你使用MIDP1.0的話,請確認你的運行環境是否支持。
  
  一般手機支持的聲音文件格式為wav、mid和mpg等。具體請查閱你的手機說明文檔。
   <!-- frame contents --> <!-- /frame contents -->
  在聲音處理中,有很多處理的方式,這裡說一下最常用的情況,播放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)
  {}
  }進入討論組討論。
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved