【Java篇】 Java小游戏中加入背景音乐
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小游戏中加入背景音乐相关推荐
- java吃水果小游戏中水果,蔬菜等的重画
1,首先定义成员变量:protected int frequency=45; 表示水果重画次数 2,然后在类中建造一个画笔,及方法中有参数(Graphics g), 调用面板方法(最好是该类继承面板) ...
- 怎么在c语言小游戏里插入音乐,如何在C++编的小游戏中添加背景音乐???
满意答案 kxapdcaj5 2014.02.10 采纳率:47% 等级:11 已帮助:16342人 1:功能差劲的Playsound函数 事例代码如下 #include #include #p ...
- Java实现拼图小游戏(2)——菜单搭建(有关Java中的JMenuBar知识点)
菜单搭建 一.前言 二.搭建步骤 1. 创建JMenuBar 2. 创建Jmenu 3. 创建JMenuItem 4. 将JMenuItem放到Jmenu中 5. 将Jmenu放到JMeanuBar中 ...
- JAVA实现2048小游戏
2048小游戏也算是一款好玩的益智休闲小游戏,下面本博主用 java 语言将该游戏复现,感兴趣的小伙伴点击 关注 哦! 同时博主还用 python 语言复现了该游戏,可点击以下链接浏览博主的另一篇文章 ...
- 手把手教你做一个Java贪吃蛇小游戏
大家好,我是孙不坚1208,这篇博客给大家分享一下:如何做一个贪吃蛇小游戏(Java版)的exe应用程序,希望能给需要帮助的朋友带来方便. 手把手教你做一个Java贪吃蛇小游戏的exe应用程序 一.J ...
- Java实现五子棋小游戏(附源码)
今天给大家分享一个用java写的小游戏--<五子棋> (完整代码可在[资源下载]目录查看) . 推荐学习专栏: Java基础学习专栏:[Java]基础篇 Java进阶学习专栏:[Java] ...
- Java实现拼图小游戏(5)—— 美化界面(含源码阅读)
美化界面 一.前言 二.添加背景图 1.注意事项 2.创建图片对象 3.创建JLabel的对象(一个用来放图片的容器) 4.调整位置 5.将容器放到界面中 6.优化代码 三.添加边框 1.查看源码 2 ...
- Java实现超级玛丽小游戏教程
1.实现了哪些功能? 1.按键←.→.↑实现玛丽奥的基本移动和跳跃. 2.获取特殊道具后可以发射子弹.可以巨大化以及提升跳跃能力. 3.玛丽奥头顶特殊方块后会生成可以旋转的金币,吃到金币可以增加分数. ...
- 不愧是大厂牛人!用Java实现象棋小游戏(附超详细,超长究极无敌代码)
本文实例为大家分享了java实现象棋小游戏的具体代码,供大家参考,具体内容如下 用Eclipse编写 java环境1.8jdk 代码如下 package xiangqi象棋; /***中国象棋Java ...
- Java练手小游戏---黄金矿工
你玩过4399曾经最火的黄金矿工小游戏吗,黄金矿工小游戏是一款休闲娱乐的一个挖宝游戏,在游戏中地下会有许多的宝藏,你得想办法把它们都挖出来,作为矿工的你,对你来说是轻车熟路的,能不能挖到宝,看你抓取的 ...
最新文章
- 数字图像处理:图像就是函数的解读
- 使用ASIHTTPRequest 编译提示找不到libxml/HTMLparser.h的解决方法
- 多种分布式文件系统简介
- 外媒:美国做空机构浑水放弃做空特斯拉
- 别不信!servlet获取到的参数值,也许完全出乎你的意料!
- Net::OpenSSH 模块使用实例
- Oracle修改字段长度
- plsql使用存储过程添加数据
- 光条中心线提取-Steger算法(基于Hessian矩阵)类似于ArcScan提取道路中心线
- 基于C++的诊所医院管理系统
- 融会贯通,从oracle...,融会贯通Oracle数据库的25条基本知识:
- 顶刊实证复现:排污权交易机制是否提高了企业全要素生产率 (思路梳理+全数据源+python代码)
- 笔记本WIFI时断时续(已解决)2021
- Linux文件目录管理、文件内容查看以及文件内容查询命令(详细命令)
- python逐行调试_python如何单步调试
- Python-编写Python脚本进行iOS代码混淆(iOS防黑加固之代码混淆篇)
- 数据挖掘(pandasxgboost)
- 【图】Dijkstra(迪杰特斯拉)算法、左神Java版
- 警惕!练字时容易遇到的几大心态问题,看看你有哪些?
- 论文阅读之Discrete Opinion Tree Induction for Aspect-based Sentiment Analysis
热门文章
- Win10 监控小软件
- Sort代码详解学习
- 【编程软件】keli自定义跳转函数及返回跳转原位置按键(附赠MDK525版本下载地址)
- 华为交换机通用配置方式方法
- python大数据培训好不好
- PC端 二维码/条形码扫描器1.1-支持截图+摄像头+本地图片+扫描枪识别
- 躲避校园网认证客户端的检测,开启笔记本热点的方法!
- 【Axure9.0原型实战(一)】Axure9.0的元件库的使用、导入、制作、路径等操作方法与技巧(附Axure元件库大全)
- Axure元件库,Axure元件库下载,Axure Design
- 用MATLAB计算光的等厚干涉实验中的不确定度