本帖最后由 Jesp 于 2020-7-5 00:50 编辑

前言:

最近实训结束,虽然我的坦克大战项目没有做完美,但是我对付出多少回报多少,这一点上我还是比较满意的,因为很多时间有在玩电脑游戏,只有少时间内编写项目和修改项目,当然一天大概有4-5小时学习/专研项目代码的错误。后来...等项目交上去以后,我才想到程序内加个游戏背景音乐和一些效果音乐肯定更好(更能得高分),今天考了一天试,于是趁中午俩小时的时间,找到了播放背景音乐的方法,刚开始上代码是不会播放音乐的,有些错误是音乐地址问题,有些错误是方法调用,也有导包问题,反而言之很多错误都解决了,考前几分钟运行完美播放,接下来我们认真康康怎么整!!!

准备:

除了你的程序,和已经做好的心里准备,还需要一首你选中的音频,一般常见的音频就是.mp3格式,但是今天的这个要.wav格式的音频,如果不是,请用格式转换处理好

(格式工厂:http://www.pcfreetime.com/formatfactory/CN/download.html)

开始:

首先在有窗体的情况下,我这里用的是《坦克大战》窗体,相当于给《坦克大战》程序添加背景音乐。

思路   当打开窗体的时候自动播放自定义的背景音乐  --->  定义一个背景音乐类  ---->  写出播放音乐的方法   ---->   调用到打开窗体的方法内

------->       让窗体运行的同时音乐就播放,窗体关闭的时候,音乐线程随之“Si”掉

这个是我的背景音乐类

image.png (1.26 MB, 下载次数: 5)

背景音乐源码

2020-7-4 23:58 上传这个是我的打开窗体的类,把背景音乐类的run方法,也就是播放音乐的方法调用到运行窗体的方法内,当然,子弹效果都可以类似这样写,首先把背景音乐弄好,然后检测到子弹打中敌人后,也就是有爆炸效果的同时,播放爆炸的配音,达到更逼真的效果,这波“想象”真的完美,我实训的时候咋就没往进去写呢,不说了,发稿睡觉,应该挂不了,问题不大。。。。。

image.png (991.54 KB, 下载次数: 2)

2020-7-5 00:21 上传

需要用到的包——导包

[Java] 纯文本查看 复制代码import javax.sound.sampled.*;

import java.io.IOException;

import java.io.InputStream;代码正文:

[Java] 纯文本查看 复制代码public class Music extends GameWindow{ // 此处Music类继承GameWindow

public void run() {

try {

Clip bgm = AudioSystem.[i]getClip[/i](); // 取个小名叫bgm吧!

InputStream is = Music.class.getClassLoader().getResourceAsStream("beijingMusic.wav"); // 背景音乐路径,记得加后缀名.wav(可以把音乐放在包下面,更方面,即使打包发送好友也可以播放)

AudioInputStream ais = AudioSystem.[i]getAudioInputStream[/i](is);

bgm.open(ais); // 打开音乐

bgm.start(); // 播放

bgm.loop(Clip.[i]LOOP_CONTINUOUSLY[/i]); // 循环播放

System.[i]out[/i].println("播放音乐,成功!"); // 打印“播放音乐,成功!”

} catch (LineUnavailableException | UnsupportedAudioFileException | IOException e) {

e.printStackTrace();

}

}

}

当然也可以弄MP3格式的音频,不过需要外界导入包,今晚了,就先总结到这。运行视频录制:

背景音乐运行录屏.txt

(35 Bytes, 下载次数: 6)

2020-7-5 00:49 上传

点击文件名下载附件

下载积分: 吾爱币 -1 CB

java 按钮添加音乐_Java运行窗体/程序添加自定义背景音乐相关推荐

  1. java运行时加音乐_Java运行窗体/程序添加自定义背景音乐

    本帖最后由 Jesp 于 2020-7-5 00:50 编辑 前言: 最近实训结束,虽然我的坦克大战项目没有做完美,但是我对付出多少回报多少,这一点上我还是比较满意的,因为很多时间有在玩电脑游戏,只有 ...

  2. java按钮添加事件_java中添加按钮并添加响应事件的方法(推荐)

    关于java容器,面板等自行百度学一下吧 private button loginbtn = new button("登陆"); final static jframe buyer ...

  3. java按钮添加图片_java 如何插入含有图片的按钮

    我的程序如下:importjavax.swing.*;importjavax.swing.event.*;importjava.awt.*;importjava.awt.event.*;publicc ...

  4. Java 编写在线考试系统-049 窗体程序 完整源码

    今天为大家分享一个java语言编写的在线考试系统-049,目前系统功能已经很全面,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 ...

  5. Java 食堂管理系统-MySQL数据库,窗体程序 有详细设计文档

    今天为大家分享一个java 编写的食堂管理系统,目前系统功能已经完善,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步. 开发环境 开发语言 ...

  6. java按钮随机移动_java – 使按钮移动触摸我们触摸的确切位置

    我创建了一个应用程序,其中有一个按钮在触摸它时移动. 现在对于onTouch,我实现了一个不同的类.有两个类,一个是主要的CircleMActivity.java,另一个是onTouch. 现在应用程 ...

  7. Java 编写飞鸽传书系统 窗体程序 完整源码

    今天为大家分享简单的飞鸽传书程序的开发与制作,目前系统已经完成了初步功能,后续会进一步完善.整个系统界面漂亮,有完整源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步 开发环境 开发语言 ...

  8. java 字符串去掉换行_java第一个程序quot;helloworldquot;

    大家好,本系列文章分解讲解,分为初级,中级,高级,框架,实战项目,中间件,web前端等等. 这一篇讲解java语言初级基础: 编译运行第一个程序HelloWorld 一:环境变量配置 步骤 1 : 首 ...

  9. MFC实战篇——图片旋转、控件PictureControl 清除显示、伪彩、直方图显示、为按钮添加背景图标、设置程序图标

    文章目录 一.图片旋转 二.MFC 控件PictureControl 清除显示 三.伪彩 四.直方图 五.为按钮添加背景图标 六.设置图标 七.改变组框外观 一.图片旋转 建立图片控件 改变图片控件I ...

最新文章

  1. 科研指导:深度学习的应用研究课程
  2. hls.js播放hls直播源
  3. android StringBuffer实现换行
  4. Powerdesigner 在线打开 不用安装客户端 访问pdm,ldm文件
  5. bzoj5147bzoj2121loj6701 字符串游戏
  6. 双向链表逆置c语言,【C++】实现双向链表的所有操作,包括逆置双链表(三种方法)...
  7. java流式布局换行_自动换行的流式布局
  8. 用计算机绘制v-t图像,2.用计算机绘制v-t图象. [预习导引]
  9. 分享一百多套开发视频教程的下载地址
  10. 实验室耗材管理系统,医院各科室如何进行耗材管理
  11. python config文件_Python如何配置config文件?
  12. 分享 Android 识音识别 挺有想法的。
  13. 查看或者创建消息的命令SE91
  14. 数据结构6-1:什么是图
  15. 基于android的线上教育app
  16. scrapy_redis实现分布式爬取京东图书数据
  17. 【新知实验室】关于实时音视频
  18. 怎么把PDF转换成Excel格式呢?
  19. Protein Ising Model Problem
  20. Cocos2d-x学习笔记(三)浅析动作类CCAction(2)

热门文章

  1. 向量投影与向量投影矩阵_Wlk1229-
  2. hive:函数:条件函数:if函数
  3. “智慧城市”提升桂林人生活品质
  4. 奈奎斯特定理和香农第二定理
  5. 项目管理常用的10张图表
  6. STP之研究消费者的行为
  7. 谷歌 Chrome 浏览器看视频花屏的解决办法
  8. 国美金融贷款导出整个库的结构的sql(国美金融贷款)
  9. 旅游中的经济学——伊斯坦布尔的出租车强盗
  10. 排坑-FAILED: UDFArgumentException The function DECIMAL takes only primitive types