`

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 JavaSwing后台播放音乐mp3是指使用JavaSwing框架在后台播放mp3音乐的技术。这种技术可以应用于多种...同时,使用JavaSwing框架可以创建图形用户界面,以便用户可以更方便地控制音乐播放。

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

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

    Java Swing打猎射击游戏

    在描述中提到有简单背景音乐,这可能通过Java的javax.sound.sampled包实现。这个包提供了音频输入、输出和处理的功能,开发者可以通过它加载并播放音频文件,为游戏增添氛围。 至于图片资源,Swing提供了ImageIcon...

    打字小游戏 java swing

    开发者可能使用`AudioInputStream`读取音乐文件,然后通过`Clip`对象播放背景音乐,并可以控制音乐的循环和音量。 5. **数据处理**:游戏可能包含一个词汇库,存储待打的单词或句子。这些数据可以存储在文件中,...

    java swing 仿酷我音乐盒界面源码

    这个“java swing 仿酷我音乐盒界面源码”是一个示例项目,展示了如何使用Swing构建类似酷我音乐盒的桌面应用界面。Swing提供了丰富的组件和布局管理器,使得开发者可以创建出功能完备且具有现代感的用户界面。 在...

    javaSwing做的贪吃蛇

    背景音乐的播放可以通过Java的音频API实现,如javax.sound.sampled包中的类。开发者需要加载音频文件,创建Clip对象,并在合适的时候播放。 此外,用户交互部分也很关键。Swing提供了KeyListener或ActionListener...

    java swing人机对战五子棋

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

    Java Swing 连连看游戏完整源码 素材.zip

    同时,素材部分可能包含游戏的图片资源、背景音乐等,这些都是提升游戏视觉效果和用户体验的重要元素。 总之,这个压缩包提供了一个很好的学习平台,对于想要了解Java Swing应用开发,特别是游戏开发的初学者来说,...

    java实现简单的音乐播放器(只可播放wav格式)

    为了使音乐播放不会阻塞应用程序的其他任务,可以将播放操作放在单独的线程中执行。 10. **错误检查**: 对于初学者,可能需要注意文件路径是否正确,音频文件是否损坏等问题。编写代码时应进行适当的错误检查和...

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

    背景音乐的播放可以借助Java的音频API,如javax.sound.sampled包中的类。我们需要加载音频文件,创建AudioInputStream对象,然后用Clip类播放音乐。为了实现在游戏运行时循环播放,可以利用Clip的loop方法。 除了...

    Java项目:植物大战僵尸(java+swing)

    为了提供音效和视觉效果,项目可能使用了Java的多媒体支持,如Java Sound API,来播放背景音乐和各种效果声音。图像可能被存储为位图或精灵表,然后在游戏运行时动态加载和渲染。 此外,项目可能还涉及数据持久化,...

    Java Swing飞机大战小游戏实战项目含完整源码附带背景音乐

    本项目是一个基于Java Swing开发的微信飞机大战小游戏,旨在帮助学习者掌握Java GUI编程和面向对象设计的基本技能。Swing是Java提供的一种用于构建桌面应用的图形用户界面库,它扩展了AWT(Abstract Window Toolkit...

    java frame大鱼吃小鱼背景音乐键盘监听

    在这个游戏中,开发者可能创建了一个`Clip`对象来加载并循环播放背景音乐文件,确保音乐在整个游戏过程中持续播放。 键盘监听是通过`KeyListener`接口实现的。在`JFrame`或者某个可视组件上添加监听器,可以捕捉到...

    Java小案例...Java许多使用的小案例,包括托盘,背景音乐,背景图片

    本压缩包包含了一系列实用的Java小案例,涵盖了托盘、背景音乐和背景图片等重要功能,对于系统开发来说极具价值。 首先,让我们深入了解一下Java中的托盘(Tray)功能。在Java Swing库中,`java.awt.TrayIcon` 类...

    基于Java Swing飞机大战游戏

    11. **音效与音乐**:为了增加游戏体验,开发者可能还整合了Java Sound API来播放背景音乐和游戏音效。 以上就是“基于Java Swing飞机大战游戏”可能涵盖的一些关键技术点。通过这样的项目,开发者不仅可以提升Java...

    java图片自动播放并有背景音乐

    3. 背景音乐播放:Java提供`javax.sound.sampled`包来处理音频。首先,需要读取音乐文件,这通常使用`AudioInputStream`完成。然后,创建一个`Clip`对象,加载音频数据到其中。通过调用`Clip`的`open()`方法打开音乐...

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

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

    含源码面向对象编程:基于java swing实现的人机对战五子棋(带背景音乐)

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

    java swing客户端贪吃蛇小游戏

    游戏还包含了背景音乐功能,这需要利用Java的音频处理能力,可能是通过Java Sound API来播放音频文件。开发者需要加载音频资源,设置播放音量,并在游戏开始时启动播放。 此外,贪吃蛇游戏的基本规则也需用到数据...

    blockGame 多线程 图形界面 背景图背景音乐 java实例 小游戏

    此外,背景音乐的播放也可能在一个独立的线程中进行,避免因为音频处理阻塞了游戏的主线程。 其次,**图形用户界面(GUI)**是与玩家交互的关键部分。Java提供了Swing和JavaFX等库来创建GUI应用。开发者可能使用这些...

Global site tag (gtag.js) - Google Analytics