ZYPlayer.java
上传用户:fanyfs
上传日期:2019-04-01
资源大小:145k
文件大小:2k
源码类别:

游戏

开发平台:

Java

  1. import javax.microedition.media.*;
  2. import javax.microedition.media.control.*;
  3. import java.io.*;
  4. public class ZYPlayer {
  5. private Player player;//媒体接口
  6. private String filename;//播放的媒体文件名
  7. private String format;//播放的媒体格式
  8. public ZYPlayer(String filename,String format,boolean isLoad)//构造函数1,传入播放媒体的文件名,格式和是否立即装载媒体
  9. {
  10. this.filename = filename;
  11. this.format = format;
  12. if(isLoad){
  13. loadResource();
  14. }
  15. }
  16. public ZYPlayer(String filename,String format)//构造函数2,传入播放媒体的文件名,格式,不立即装载媒体
  17. {
  18. this.filename = filename;
  19. this.format = format;
  20. }
  21. public void loadResource()//装载资源,并创建播放器接口
  22. {
  23. try{
  24. InputStream is = this.getClass().getResourceAsStream("/"+filename);//装载资源
  25. player = Manager.createPlayer(is, format);
  26. }catch(Exception e){
  27. //e.printStackTrace();
  28. }
  29. }
  30. public void play2(){//播放声音
  31. if(player!=null){
  32. try{
  33. player.realize();
  34. player.prefetch();
  35. player.start();
  36. }catch(Exception e){
  37. //e.printStackTrace();
  38. }
  39. }
  40. }
  41. public void replay(){//重复播放声音
  42. close();//首先关闭声音接口
  43. System.gc();//进行垃圾回收 强制释放声音设备
  44. loadResource();//重新装载声音,创建声音接口
  45. play2();//播放声音
  46. }
  47. public void play(){//播放声音,推荐调用此方法
  48. if(player==null){
  49. loadResource();
  50. play2();
  51. }
  52. else{
  53. close();//首先关闭声音接口
  54. System.gc();//进行垃圾回收 强制释放声音设备
  55. loadResource();//重新装载声音,创建声音接口
  56. play2();//播放声音
  57. }
  58. }
  59. public void close(){//关闭声音接口
  60. if(player!=null){
  61. player.close();
  62. player = null;
  63. }
  64. }
  65. public void setLoop(){//设置循环播放
  66. if(player!=null){
  67. player.setLoopCount(-1);//设置为无限循环
  68. }
  69. }
  70. public void setVolume(int level){//设置音量
  71. if(player!=null){
  72. VolumeControl control = (VolumeControl)player.getControl("VolumeControl");
  73. control.setLevel(level);//设置音量
  74. }
  75. }
  76. public void stop(){//停止播放声音
  77. if(player!=null){
  78. try{
  79. player.stop();
  80. }catch(Exception e){
  81. //e.printStackTrace();
  82. }
  83. }
  84. }
  85. }