自用记录,亲测可行。

java课设,马里奥的小游戏,总觉得没有背景音乐就少了点乐趣,试了很多种添加背景音乐,这个成功了!!

原作链接:

Java小游戏中加背景音乐--有图有真相_一如既往的博客-CSDN博客_java游戏怎么添加背景音乐

注意添加音乐的格式:.wav

新建class :Music.java   音乐文件和代码所在类 必须在同一个包里
复制代码

//第一句话按照提示或根据自己的代码修改,其他的不要改
package com.tarena.fly;import java.io.File;
import java.io.IOException;import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.UnsupportedAudioFileException;public class Music extends Thread {private String fileName;private final int EXTERNAL_BUFFER_SIZE = 524288;public Music(String wavFile) {this.fileName = wavFile;}@SuppressWarnings("unused")public void run() {File soundFile = new File(fileName); // 播放音乐的文件名if (!soundFile.exists()) {System.err.println("Wave file not found:" + fileName);return;}while (true) { // 设置循环播放AudioInputStream audioInputStream = null; // 创建音频输入流对象try {audioInputStream = AudioSystem.getAudioInputStream(soundFile); // 创建音频对象} catch (UnsupportedAudioFileException e1) {e1.printStackTrace();return;} catch (IOException e1) {e1.printStackTrace();return;}AudioFormat format = audioInputStream.getFormat(); // 音频格式SourceDataLine auline = null; // 源数据线DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);try {auline = (SourceDataLine) AudioSystem.getLine(info);auline.open(format);} catch (LineUnavailableException e) {e.printStackTrace();return;} catch (Exception e) {e.printStackTrace();return;}if (auline.isControlSupported(FloatControl.Type.PAN)) {FloatControl pan = (FloatControl) auline.getControl(FloatControl.Type.PAN);}auline.start();int nBytesRead = 0;byte[] abData = new byte[EXTERNAL_BUFFER_SIZE];try {while (nBytesRead != -1) {nBytesRead = audioInputStream.read(abData, 0, abData.length);if (nBytesRead >= 0)auline.write(abData, 0, nBytesRead);}} catch (IOException e) {e.printStackTrace();return;} finally {auline.drain();
// auline.close();}}}
}

找到主函数

添加代码

  //背景音乐启动Music audioPlayWave = new Music("BGM.wav");// 开音乐(冒号里的内容与音乐文件名一致)audioPlayWave.start();@SuppressWarnings("unused")int musicOpenLab = 1;

运行,成功植入,完成!

java代码添加背景音乐(自用)相关推荐

  1. Java代码添加背景音乐

    太心塞!弄了很久才终于把Java添加背景音乐实现了.不过还是很Happy! 这次介绍的办法,是只要一打开Java Application,便可直接听到背景音乐.代码保存,方便以后再次利用. 1 pac ...

  2. Java 中添加背景音乐

    Java 中添加背景音乐 GUI 中添加背景音乐 添加循环播放的背景音乐 背景音乐音量调节 好了,以上主要是多放几个 关键词,方便能让需要的人都能搜到 以下就是可直接使用的方法, 之后按提示导包就 o ...

  3. java在代码添加背景音乐_Java代码添加背景音乐

    太心塞!弄了很久才终于把Java添加背景音乐实现了.不过还是很Happy! 这次介绍的办法,是只要一打开Java Application,便可直接听到背景音乐.代码保存,方便以后再次利用. packa ...

  4. java编写添加背景音乐代码_java代码中简单添加背景音乐(亲测有效)

    在做java贪吃蛇游戏课设时,想添加背景音乐,用了以下很简单的步骤即可完成,亲测有效哦! 调用方法: new Thread(()->{while(true) {Data.playMusic(); ...

  5. JAVA代码添加License

    在开源代码的时候,我们经常会在代码顶部添加License信息,每个文件复制粘贴显然是比较麻烦的,我们可以在工具中进行配置,在创建新的类的时候自动为我们添加相关信息,以eclipse为例. 进入Pref ...

  6. java程序添加背景音乐

    在写Java程序的时候常常需要播放背景音乐,其实实现只需两步即可. 1.首先需要下载一个jar包 最近有许多网友反应说原来的下载地址不能用了,这里提供一个最新下载地址:jlayer-1.0.1.jar ...

  7. java 如何添加背景音乐_Java JFrame 中添加背景音乐方法

    在想让音乐开始播放的时候 调用该方法就可以,如:如果想在一打开JFrame的时候就播放,那么在JFrame的构造方法中添加该方法即可.以此类推. import java.applet.AudioCli ...

  8. java 如何添加背景音乐_Java程序怎样添加背景音乐?

    哆啦的时光机 你可以试一下下面的代码import java.applet.AudioClip;import java.io.*;import java.applet.Applet;import jav ...

  9. Java中添加背景音乐【更新 播放/暂停】

    运行时播放背景音乐 调用方法 new Thread(()->{while(true) {playMusic();}}).start();// Lambda表达式 // new Thread(ne ...

最新文章

  1. 敏捷个人纸质书:第一章 源于生活和工作的敏捷个人
  2. SCCM2012R2七:msi软件分发和卸载
  3. ubuntu下使用pidgin(pidgin-lwqq)登陆qq
  4. Unity3d—做一个年月日选择器(Scroll Rect拖动效果优化)— 无限滚动 + 锁定元素...
  5. WinLogon事件通知包编程
  6. ng-bootstrap 组件集中 tabset 组件的实现分析
  7. GA遗传算法(Genetic Algorithm)
  8. Android菜鸟成长记1--环境的搭配和第一个项目的构建
  9. 大数据技术的特点有哪些
  10. Every Big God !I am fish This is my first program!
  11. Dlib Python 检测人脸特征点 Face Landmark Detection
  12. 昆仑通态复制的程序可以用吗_第478期丨相同功能带定时器的PLC程序怎么简化?非标设备出口到日本,应该怎么配电。...
  13. 【贪心算法】跳跃游戏
  14. Stolz定理及其在求极限上的应用
  15. 【20保研】中山大学2019年“人工智能与科学计算”优秀大学生夏令营活动报名通知...
  16. 大神TP_萌新到大神的必修课---分路篇v
  17. 批量大气校正高分2号(GF2)卫星数据
  18. 网络通信——ISO7层协议与TCP/IP 四层模型
  19. 如何下载NBA球员投篮信息
  20. 前沿重器[28] | 前沿的向量召回都是怎么做的

热门文章

  1. 我们应该怎样使用开源软件
  2. 单词积累(每日必看)
  3. 首届情感AI大会:当人工智能理解并具备人类感情时……
  4. vue项目导入字体包 以及 根据所需文字压缩字体包
  5. Ubuntu修改屏保时间
  6. 微信开发踩坑系列一之Native支付
  7. 御龙在天自动喊话测试版!
  8. matlab 获取edit,怎样获取edit控件里的数据
  9. 西乔:我在过着很奢侈的生活[转]
  10. 一位母亲的教女50句名言