ZYPlayer.java
上传用户:fanyfs
上传日期:2019-04-01
资源大小:145k
文件大小:2k
- import javax.microedition.media.*;
- import javax.microedition.media.control.*;
- import java.io.*;
- public class ZYPlayer {
- private Player player;//媒体接口
- private String filename;//播放的媒体文件名
- private String format;//播放的媒体格式
-
- public ZYPlayer(String filename,String format,boolean isLoad)//构造函数1,传入播放媒体的文件名,格式和是否立即装载媒体
- {
- this.filename = filename;
- this.format = format;
-
- if(isLoad){
- loadResource();
- }
- }
-
- public ZYPlayer(String filename,String format)//构造函数2,传入播放媒体的文件名,格式,不立即装载媒体
- {
- this.filename = filename;
- this.format = format;
- }
-
- public void loadResource()//装载资源,并创建播放器接口
- {
- try{
- InputStream is = this.getClass().getResourceAsStream("/"+filename);//装载资源
- player = Manager.createPlayer(is, format);
- }catch(Exception e){
- //e.printStackTrace();
- }
- }
- public void play2(){//播放声音
- if(player!=null){
- try{
- player.realize();
- player.prefetch();
- player.start();
- }catch(Exception e){
- //e.printStackTrace();
- }
- }
- }
-
- public void replay(){//重复播放声音
- close();//首先关闭声音接口
- System.gc();//进行垃圾回收 强制释放声音设备
- loadResource();//重新装载声音,创建声音接口
- play2();//播放声音
- }
-
- public void play(){//播放声音,推荐调用此方法
-
- if(player==null){
- loadResource();
- play2();
- }
- else{
- close();//首先关闭声音接口
- System.gc();//进行垃圾回收 强制释放声音设备
- loadResource();//重新装载声音,创建声音接口
- play2();//播放声音
- }
- }
- public void close(){//关闭声音接口
- if(player!=null){
- player.close();
- player = null;
- }
- }
-
- public void setLoop(){//设置循环播放
- if(player!=null){
- player.setLoopCount(-1);//设置为无限循环
- }
- }
-
- public void setVolume(int level){//设置音量
- if(player!=null){
- VolumeControl control = (VolumeControl)player.getControl("VolumeControl");
- control.setLevel(level);//设置音量
- }
- }
-
- public void stop(){//停止播放声音
- if(player!=null){
- try{
- player.stop();
- }catch(Exception e){
- //e.printStackTrace();
- }
- }
- }
- }