`

java Swing 播放背景音乐

 
阅读更多
  1. import java.io.FileNotFoundException;  
  2. import java.io.IOException;  
  3. import java.net.URL;  
  4. import sun.audio.AudioData;  
  5. import sun.audio.AudioPlayer;  
  6. import sun.audio.AudioStream;  
  7. import sun.audio.ContinuousAudioDataStream;  
  8.   
  9. public class MusicPlay {  
  10.     private AudioStream as; // 单次播放声音用  
  11.     ContinuousAudioDataStream cas;// 循环播放声音  
  12.   
  13.     // 构造函数  
  14.     public MusicPlay(URL url) {  
  15.         try {  
  16.             // 打开一个声音文件流作为输入  
  17.             as = new AudioStream(url.openStream());  
  18.         } catch(FileNotFoundException e) {  
  19.             // TODO Auto-generated catch block  
  20.             e.printStackTrace();  
  21.         } catch(IOException e) {  
  22.             // TODO Auto-generated catch block  
  23.             e.printStackTrace();  
  24.         }  
  25.     }  
  26.   
  27.     // 一次播放 开始  
  28.     public void start() {  
  29.         if(as == null) {  
  30.             System.out.println("AudioStream object is not created!");  
  31.             return;  
  32.         } else {  
  33.             AudioPlayer.player.start(as);  
  34.         }  
  35.     }  
  36.   
  37.     // 一次播放 停止  
  38.     public void stop() {  
  39.         if(as == null) {  
  40.             System.out.println("AudioStream object is not created!");  
  41.             return;  
  42.         } else {  
  43.             AudioPlayer.player.stop(as);  
  44.         }  
  45.     }  
  46.   
  47.     // 循环播放 开始  
  48.     public void continuousStart() {  
  49.         // Create AudioData source.  
  50.         AudioData data = null;  
  51.         try {  
  52.             data = as.getData();  //getData()函数不支持 mid的音频文件
  53.         } catch(IOException e) {  
  54.             // TODO Auto-generated catch block  
  55.             e.printStackTrace();  
  56.         }  
  57.   
  58.         // Create ContinuousAudioDataStream.  
  59.         cas = new ContinuousAudioDataStream(data);  
  60.   
  61.         // Play audio.  
  62.         AudioPlayer.player.start(cas);  
  63.     }  
  64.   
  65.     // 循环播放 停止  
  66.     public void continuousStop() {  
  67.         if(cas != null) {  
  68.             AudioPlayer.player.stop(cas);  
  69.         }  
  70.     }  
  71.   
  72. }  

使用:

Java代码  收藏代码
  1. MusicPlay myMusicPlay = new MusicPlay(MusicPlay.class.getResource("/music/dog.wav"));  
  2. myMusicPlay.start();//播放一次  
  3. myMusicPlay.stop();//停止  
  4. myMusicPlay.continuousStart();//循环播放  
  5. myMusicPlay.continuousStop();//停止  

 注意这里只是示例,stop与start不能连用,另这程序试验过,无法播放mp3音频文件、无法播放mid音频文件

分享到:
评论

相关推荐

    JavaSwing后台播放音乐mp3

    主要为大家详细介绍了JavaSwing后台播放音乐mp3,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    Java Swing打猎射击游戏

    带简单背景音乐的Java Swing打猎射击游戏,比较简单的游戏,代码与图片等资源部分来源网络

    java swing人机对战五子棋

    这个小程序是我1年多前自己写着玩的,当时不懂这么多,两个个文件就搞定了,写的也不规范。 ai不是很智能,只是会搜索当前局面的最优解,评分规则是我从网上找的一个。大概介绍一下这个规则: 能成死二(当前位置下...

    java swing人机对战五子棋(含背景音乐)

    本项目是一套基于java swing的人机对战五子棋系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格...

    Java项目:基于Java Swing实现的微信飞机大战小游戏实战项目含背景音乐哦

    Java项目:基于Java Swing实现的微信飞机大战小游戏实战项目含背景音乐哦

    javaSwing做的贪吃蛇

    一款javaswing做的小游戏,游戏设有障碍物和背景音乐。非常适合初学者。

    打字小游戏 java swing

    打字小游戏,源码开放,精彩背景音乐。。。。

    JAVA Swing 制作俄罗斯方块小游戏,课设作品(界面优美,功能完善,适合初学者参考学习)

    java Swing制作的俄罗斯方块小游戏,主题切换、背景音乐等完成众多功能。 基本功能:  方块消行  方块控制  随机生成方块  预览下一方块  游戏状态判断  游戏暂停、结束提醒  退出程序提醒  等级...

    java swing客户端贪吃蛇小游戏

    java swing客户端贪吃蛇小游戏 项目描述 java swing贪吃蛇小游戏,带有背景音乐 运行环境 jdk8+eclipse 项目技术(必填) java Swing

    Java Swing五子棋项目

    一、项目简介 本项目为Java Swing五子棋项目,...- 引入背景音乐功能:可以引入音频文件 - 关于:显示程序的作者、版本等 - 退出:结束程序 详见:https://blog.csdn.net/weixin_43860634/article/details/128563175

    Java Swing开发的跳棋程序源码.zip

    该项目界面用Java Swing 图形界面开发,开发面板,菜单,按钮等,使用了定时器Timer 设置开局时长,同时实现了背景音乐播放(sun.audio.AudioStream)增加了玩的舒适性。棋盘背景用四张不同的背景图来由用户选择...

    javaswing黄金矿工-idea版本

    一、系统介绍 《黄金矿工》游戏是一个经典的抓金子小游戏,它可以锻炼人的反应能力。...7、用户登陆、背景音乐 运行环境:eclipse/idea/mysql 详见:https://blog.csdn.net/Timi2019/article/details/128117438

    javaswing黄金矿工-eclipse版本

    一、系统介绍 《黄金矿工》游戏是一个经典的抓金子小游戏,它可以锻炼人的反应能力。...7、用户登陆、背景音乐 运行环境:eclipse/idea/mysql 详见:https://blog.csdn.net/Timi2019/article/details/128117438

    java swing飞机大战游戏(源码+视频+文档+ppt)_亲测有效

    基于Java的飞机大战游戏主要需要我方飞机和敌方飞机,还有子弹,特殊nPC,开始背景,结束背景,以及背景音乐。我方飞机可以随意移动,敌方飞机无规律出现。游戏玩家通过鼠标移动控制飞机移动,我方飞机在游戏开始时...

    Java项目实训+推箱子游戏2023版

    推箱子游戏是java基础学习的综合运用,主要涉及的知识点如下: ...5.音频文件的播放,实训播放背景音乐功能; 6.java事件的应用,如ActionListener,ItemListener等事件; 7.内部类的应用。 8.绘图功能的的灵活应用。

    毕业设计,游戏,飞机大战游戏,Java完整源代码,基于Swing开发,有背景音乐,内含毕业论文的设计与实现以及项目辅导视频

    基于Java的飞机大战游戏主要需要我方飞机和敌方飞机,还有子弹,特殊nPC,开始背景,结束背景,以及背景音乐。我方飞机可以随意移动,敌方飞机无规律出现。游戏玩家通过鼠标移动控制飞机移动,我方飞机在游戏开始时...

    javaswing黄金矿工-idea版本(高分课程设计)

    项目已获导师指导并通过的95分的高分期末大作业项目,可作为课程设计和期末大作业,下载即用...7、用户登陆、背景音乐 运行环境:eclipse/idea/mysql 详见:https://blog.csdn.net/Timi2019/article/details/128117438

    javaswing黄金矿工-eclipse版本(高分课程设计)

    项目已获导师指导并通过的95分的高分期末大作业项目,可作为课程设计和期末大作业,下载即用...7、用户登陆、背景音乐 运行环境:eclipse/idea/mysql 详见:https://blog.csdn.net/Timi2019/article/details/128117438

Global site tag (gtag.js) - Google Analytics