LPAudioPlayer.java
上传用户:gyyuli
上传日期:2013-07-09
资源大小:3050k
文件大小:2k
源码类别:

J2ME

开发平台:

Java

  1. /**
  2.  * <p>Title: lipeng</p>
  3.  * <p>Description:
  4.  * You cannot remove this copyright and notice.
  5.  * You cannot use this file without the express permission of the author.
  6.  * All Rights Reserved</p>
  7.  * <p>Copyright: lizhenpeng (c) 2004</p>
  8.  * <p>Company: LP&P</p>
  9.  * @author lizhenpeng
  10.  * @version 1.3.0
  11.  * <p>
  12.  * Revise History
  13.  * 2004.07.12 Revise exception mode and exception description V1.1.0
  14.  * 2004.07.20 Change audio loop mode to thread mode v1.2.0
  15.  * 2004.07.20 revise mode to test pass mode V1.2.1
  16.  * 2004.09.25 add a method replay media,add two data member to load resource,
  17.  * add a method to load resource,
  18.  * v1.3.0
  19.  * </p>
  20.  */
  21. package lipeng;
  22. import javax.microedition.media.*;
  23. import java.io.*;
  24. public class LPAudioPlayer
  25. {
  26.   private Player player;
  27.   private String filename;
  28.   private String format;
  29.   public LPAudioPlayer(String filename,String format,boolean isLoad)
  30.   {
  31.     this.format = format;
  32.     this.filename = filename;
  33.     if(isLoad)
  34.     {
  35.       loadResource();
  36.     }
  37.   }
  38.   public LPAudioPlayer(String filename,String format)
  39.   {
  40.     this.format = format;
  41.     this.filename = filename;
  42.   }
  43.   public void loadResource()
  44.   {
  45.     try
  46.     {
  47.       InputStream is=getClass().getResourceAsStream("/"+filename);
  48.       player=Manager.createPlayer(is,format);
  49.     }
  50.     catch(IOException ex)
  51.     {
  52.       System.out.println("can't load "+filename);
  53.       System.out.println(ex.toString());
  54.     }
  55.     catch(MediaException ex)
  56.     {
  57.       System.out.println("can't create audio");
  58.       System.out.println(ex.toString());
  59.     }
  60.   }
  61.   public void setLoop()
  62.   {
  63.     if(player!=null)
  64.     {
  65.       player.setLoopCount(-1);
  66.     }
  67.   }
  68.   public void stop()
  69.   {
  70.     if(player!=null)
  71.     {
  72.       try
  73.       {
  74.         player.stop();
  75.       }
  76.       catch(MediaException ex)
  77.       {
  78.         System.out.println("can't stop audio");
  79.         System.out.println(ex.toString());
  80.       }
  81.     }
  82.   }
  83.   public void play()
  84.   {
  85.     if(player!=null)
  86.     {
  87.       try
  88.       {
  89.         player.realize();
  90.         player.start();
  91.       }
  92.       catch(MediaException ex)
  93.       {
  94.         System.out.println("can't play audio");
  95.         System.out.println(ex.toString());
  96.       }
  97.     }
  98.   }
  99.   public void replay()
  100.   {
  101.     close();
  102.     System.gc();
  103.     loadResource();
  104.     play();
  105.   }
  106.   public void close()
  107.   {
  108.     if(player!=null)
  109.     {
  110.       player.close();
  111.       player=null;
  112.     }
  113.   }
  114. }