java贪吃蛇添加背景音乐_java代码中简单添加背景音乐(亲测有效)
在做java贪吃蛇游戏课设时,想添加背景音乐,用了以下很简单的步骤即可完成,亲测有效哦!
调用方法:
new Thread(()->{while(true) {Data.playMusic();}
}).start();// Lambda表达式
//new Thread(new Runnable() {
//
//@Override
//public void run() {
//while (true) {
//playMusic();
//}
//}
//}).start();// 开启一个线程用来播放音乐
方法体:
import java.io.File;
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.SourceDataLine;
static void playMusic() {// 背景音乐播放
try {
AudioInputStream ais = AudioSystem.getAudioInputStream(new File("D:/mysoft/eclipse/贪吃蛇/music.wav")); //绝对路径
AudioFormat aif = ais.getFormat();
final SourceDataLine sdl;
DataLine.Info info = new DataLine.Info(SourceDataLine.class, aif);
sdl = (SourceDataLine) AudioSystem.getLine(info);
sdl.open(aif);
sdl.start();
FloatControl fc = (FloatControl) sdl.getControl(FloatControl.Type.MASTER_GAIN);
// value可以用来设置音量,从0-2.0
double value = 2;
float dB = (float) (Math.log(value == 0.0 ? 0.0001 : value) / Math.log(10.0) * 20.0);
fc.setValue(dB);
int nByte = 0;
final int SIZE = 1024 * 64;
byte[] buffer = new byte[SIZE];
while (nByte != -1) {
nByte = ais.read(buffer, 0, SIZE);
sdl.write(buffer, 0, nByte);
}
sdl.stop();
} catch (Exception e) {
e.printStackTrace();
}
}
注意事项:
若程序报错:
Exception in thread "main" javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input file
at javax.sound.sampled.AudioSystem.getAudioInputStream(AudioSystem.java:1189)
at com.ywq3.Test.main(Test.java:21)
异常信息是说,不支持的格式,即该音频文件不支持,得不到该文件的输入流。我用的是wav格式,原来音频文件是mp3,转换成wav时直接改不行,就会报以上错误。明明是wav文件,却报错说不支持该格式,则可能是该wav文件内部格式有错误。安利一个格式转换网站:https://cn.office-converter.com/Convert-to-WAV。我是转换成正确的wav格式就可以播放音乐啦。此处参考了博客http://blog.csdn.net/qq_25827845/article/details/79026786
如果本文对您有帮助,可不可以给萌新点一个赞,鼓励小萌新坚持写博客的热情!
标签:sound,sampled,背景音乐,java,new,sdl,import,javax,亲测
来源: https://blog.csdn.net/qq_44491991/article/details/105859396
java贪吃蛇添加背景音乐_java代码中简单添加背景音乐(亲测有效)相关推荐
- java编写添加背景音乐代码_java代码中简单添加背景音乐(亲测有效)
在做java贪吃蛇游戏课设时,想添加背景音乐,用了以下很简单的步骤即可完成,亲测有效哦! 调用方法: new Thread(()->{while(true) {Data.playMusic(); ...
- java贪吃蛇系统架构_java贪吃蛇游戏框架搭建
java贪吃蛇游戏框根据面向对象的思想建立蛇类.食物类.周围石头类.面板类.控制中心类.监听器类.组建类. Food.java public class Food { //蛇是否吃到了食物方法 pub ...
- java web工程中如何添加图片_java web中如何添加图片
java web中如何添加图片 对于java可视化界面插入背景图片只需要background-image:url(图片路径)就行,而对于web项目中,并非如此 效果如下: 我们就需要在jsp页面中写J ...
- java贪吃蛇设计流程_JAVA版贪食蛇(贪吃蛇)游戏的设计与实现(含录像)
JAVA版贪食蛇(贪吃蛇)游戏的设计与实现(含录像)(任务书,开题报告,外文翻译,毕业论文12000字,程序代码,MySQL数据库,答辩PPT,答辩视频录像) 摘要 "贪食蛇"游戏 ...
- java ip加密如何访问_java代码中如何实现http访问
作者:释怀Na 出自:CSDN 原文:blog.csdn.net/qq_35906921/article/details/98076258 java代码中如何实现http访问 大概的实现就是 请求ht ...
- java贪吃蛇撞壁转弯代码_java贪吃蛇demo
import javax.swing.*; import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.KeyLi ...
- java贪吃蛇客户端服务器_java Socket套接字TCP编程开发服务端和客户端之间的通信 - 贪吃蛇学院-专业IT技术平台...
超级简单,没有太多实质内容的Socket服务端,客户端小程序 先运行server 再运行client OK 服务端代码如下: public class Server { public static v ...
- Java List.size()方法:返回列表中元素的个数(亲测)
Java 集合类中的 List.size() 方法以 int 形式返回列表中元素的个数. 语法: size() 返回列表中元素的个数.如果列表中元素的个数超过 2 147 483 647,则返回 2 ...
- 贪吃蛇大作战代码java,贪吃蛇游戏,贪吃蛇java游戏代码讲解
贪吃蛇游戏,贪吃蛇java游戏代码讲解 来源:互联网 作者:佚名 时间:2020-06-06 贪吃蛇源代码.txt这世界上除了我谁都没资格陪在你身边. 听着,我允许你喜欢我.除了白头偕老,我们... ...
- java贪吃蛇课程设计报告_java贪吃蛇课程设计报告().doc
java贪吃蛇课程设计报告() <Java应用开发> 课程设计报告 题 目: JAVA小游戏 - 贪吃蛇 指导老师: 姓 名: 专 业: 班 级: 日 期: 目 录 一.系统总体设计1 ( ...
最新文章
- 整数的二进制表达中有多少个1
- lvs为何不能完全替代DNS轮询--转
- SQL语言之组函数(Oracle)
- 【数据库】oracle数据库----内嵌视图
- C语言文件读写操作总结
- python添加一个球_在Python中创建一个旋转球体
- java 百度副文本_spring boot 、springMVC环境集成百度ueditor富文本编辑器
- 程序员35岁之后的职业发展
- wordpress中直接执行mysql查询语句的常用方法
- Java开发笔记(一百四十五)FXML布局的伸展适配
- 正则表达式-2-正则表达式实战1
- 孩子们的游戏(圆圈中最后剩下的数)(Python)
- 转自他人——django实例教程
- 打印服务Print Spooler自动停止解决方案
- (模电笔记二 By Multisim)波特图(Bode Plotter)幅频特性相频特性详解
- ROM 、RAM和FLASH 的区别
- 手写springboot
- ArcGIS网络分析之中国邮递员问题
- Mybatis 框架CRUD的操作 案例
- 常见设备/CMS默认口令