Author: Manba Cople
专业:IOT
说明:记录和输出学习内容

文章目录

  • 问题
  • 思路
  • 部分代码
  • 声明

问题

   这篇博客时记录之前基于JAVA语言设计的《抗疫大作战》小游戏中游戏加入问题。首先,由于JAVA中AudioClip包的废弃,导致目前小游戏中背景音乐加入成为问题。本博文是利用JAVA语言中的AudioInputStream流文件读入方式加入游戏的背景音乐。

思路

  由于博主刚接触JAVA不久,因此对于Music的加入,是将其处理为Music实体,这样在加入音乐时就和加入人物实体相似。首先,音乐的属性就是时间,方法就是Player(播放)函数。

部分代码

  音乐实体代码如下:

public class Music {private int t = 0; // 音乐播放时间AudioInputStream bgm;private boolean playing = false;public boolean isPlaying() {return playing;}public void setPlaying(boolean playing) {this.playing = playing;}public int getT() {return t;}public void setT(int t) {this.t = t;}public Music() {try {bgm = AudioSystem.getAudioInputStream(new File("source/music/music.wav"));} catch (UnsupportedAudioFileException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} // 获得音频输入流}public void player() {AudioInputStream ais;AudioFormat baseFormat;DataLine.Info info;ais = bgm;baseFormat = ais.getFormat(); // 指定声音流中特定数据安排info = new DataLine.Info(SourceDataLine.class, baseFormat);SourceDataLine line = null;  //该数据线处理字节的缓冲并将其传递到混频器try {line = (SourceDataLine) AudioSystem.getLine(info);line.open(baseFormat);// 打开具有指定格式的行,这样可使行获得所有所需的系统资源并变得可操作。line.start();// 允许数据行执行数据 I/Oint BUFFER_SIZE = 4000 * 4;int intBytes = 0;byte[] audioData = new byte[BUFFER_SIZE]; // 音频数据数组while (intBytes != -1 && (playing == false)) {intBytes = ais.read(audioData, 0, BUFFER_SIZE);// 从音频流读取指定的最大数量的数据字节,并将其放入给定的字节数组中。if (intBytes >= 0) {line.write(audioData, 0, intBytes);// 通过此源数据行将音频数据写入混频器。t += 1;}//System.out.println(t);}} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}}}

声明

  以上只是个人理解创作代码,并且以成功在《抗疫大作战》中成功运用,若有疑问可以评论留言。

【Java篇】 Java小游戏中加入背景音乐相关推荐

  1. java吃水果小游戏中水果,蔬菜等的重画

    1,首先定义成员变量:protected int frequency=45; 表示水果重画次数 2,然后在类中建造一个画笔,及方法中有参数(Graphics g), 调用面板方法(最好是该类继承面板) ...

  2. 怎么在c语言小游戏里插入音乐,如何在C++编的小游戏中添加背景音乐???

    满意答案 kxapdcaj5 2014.02.10 采纳率:47%    等级:11 已帮助:16342人 1:功能差劲的Playsound函数 事例代码如下 #include #include #p ...

  3. Java实现拼图小游戏(2)——菜单搭建(有关Java中的JMenuBar知识点)

    菜单搭建 一.前言 二.搭建步骤 1. 创建JMenuBar 2. 创建Jmenu 3. 创建JMenuItem 4. 将JMenuItem放到Jmenu中 5. 将Jmenu放到JMeanuBar中 ...

  4. JAVA实现2048小游戏

    2048小游戏也算是一款好玩的益智休闲小游戏,下面本博主用 java 语言将该游戏复现,感兴趣的小伙伴点击 关注 哦! 同时博主还用 python 语言复现了该游戏,可点击以下链接浏览博主的另一篇文章 ...

  5. 手把手教你做一个Java贪吃蛇小游戏

    大家好,我是孙不坚1208,这篇博客给大家分享一下:如何做一个贪吃蛇小游戏(Java版)的exe应用程序,希望能给需要帮助的朋友带来方便. 手把手教你做一个Java贪吃蛇小游戏的exe应用程序 一.J ...

  6. Java实现五子棋小游戏(附源码)

    今天给大家分享一个用java写的小游戏--<五子棋> (完整代码可在[资源下载]目录查看) . 推荐学习专栏: Java基础学习专栏:[Java]基础篇 Java进阶学习专栏:[Java] ...

  7. Java实现拼图小游戏(5)—— 美化界面(含源码阅读)

    美化界面 一.前言 二.添加背景图 1.注意事项 2.创建图片对象 3.创建JLabel的对象(一个用来放图片的容器) 4.调整位置 5.将容器放到界面中 6.优化代码 三.添加边框 1.查看源码 2 ...

  8. Java实现超级玛丽小游戏教程

    1.实现了哪些功能? 1.按键←.→.↑实现玛丽奥的基本移动和跳跃. 2.获取特殊道具后可以发射子弹.可以巨大化以及提升跳跃能力. 3.玛丽奥头顶特殊方块后会生成可以旋转的金币,吃到金币可以增加分数. ...

  9. 不愧是大厂牛人!用Java实现象棋小游戏(附超详细,超长究极无敌代码)

    本文实例为大家分享了java实现象棋小游戏的具体代码,供大家参考,具体内容如下 用Eclipse编写 java环境1.8jdk 代码如下 package xiangqi象棋; /***中国象棋Java ...

  10. Java练手小游戏---黄金矿工

    你玩过4399曾经最火的黄金矿工小游戏吗,黄金矿工小游戏是一款休闲娱乐的一个挖宝游戏,在游戏中地下会有许多的宝藏,你得想办法把它们都挖出来,作为矿工的你,对你来说是轻车熟路的,能不能挖到宝,看你抓取的 ...

最新文章

  1. 数字图像处理:图像就是函数的解读
  2. 使用ASIHTTPRequest 编译提示找不到libxml/HTMLparser.h的解决方法
  3. 多种分布式文件系统简介
  4. 外媒:美国做空机构浑水放弃做空特斯拉
  5. 别不信!servlet获取到的参数值,也许完全出乎你的意料!
  6. Net::OpenSSH 模块使用实例
  7. Oracle修改字段长度
  8. plsql使用存储过程添加数据
  9. 光条中心线提取-Steger算法(基于Hessian矩阵)类似于ArcScan提取道路中心线
  10. 基于C++的诊所医院管理系统
  11. 融会贯通,从oracle...,融会贯通Oracle数据库的25条基本知识:
  12. 顶刊实证复现:排污权交易机制是否提高了企业全要素生产率 (思路梳理+全数据源+python代码)
  13. 笔记本WIFI时断时续(已解决)2021
  14. Linux文件目录管理、文件内容查看以及文件内容查询命令(详细命令)
  15. python逐行调试_python如何单步调试
  16. Python-编写Python脚本进行iOS代码混淆(iOS防黑加固之代码混淆篇)
  17. 数据挖掘(pandasxgboost)
  18. 【图】Dijkstra(迪杰特斯拉)算法、左神Java版
  19. 警惕!练字时容易遇到的几大心态问题,看看你有哪些?
  20. 论文阅读之Discrete Opinion Tree Induction for Aspect-based Sentiment Analysis

热门文章

  1. Win10 监控小软件
  2. Sort代码详解学习
  3. 【编程软件】keli自定义跳转函数及返回跳转原位置按键(附赠MDK525版本下载地址)
  4. 华为交换机通用配置方式方法
  5. python大数据培训好不好
  6. PC端 二维码/条形码扫描器1.1-支持截图+摄像头+本地图片+扫描枪识别
  7. 躲避校园网认证客户端的检测,开启笔记本热点的方法!
  8. 【Axure9.0原型实战(一)】Axure9.0的元件库的使用、导入、制作、路径等操作方法与技巧(附Axure元件库大全)
  9. Axure元件库,Axure元件库下载,Axure Design
  10. 用MATLAB计算光的等厚干涉实验中的不确定度