在写Java程序的时候常常需要播放背景音乐,其实实现只需两步即可。
#第一种方法:
1.首先需要下载一个jar包
网址:http://www.javazoom.net/javalayer/javalayer.html
下载完成,解压后找到如图所示的包导入到项目中去。
2.然后, 只需将下面的几行代码粘入程序中即可,即粘即用,如果出现错误多半是jar包没有正确导入。
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.*;
class Play0 extends Thread{
Player player;
String music;
public Play0(String file) {
this.music = file;
}
public void run() {
try {
play();
} catch (FileNotFoundException | JavaLayerException e) {
e.printStackTrace();
}
}
public void play() throws FileNotFoundException, JavaLayerException {
BufferedInputStream buffer = new BufferedInputStream(new FileInputStream(music));
player = new Player(buffer);
player.play();
}
}
上面的代码实则是将播放程序放入线程中去,然后再在需要播放音乐的地方写入如下代码,开启线程。
new Play0(“C:\Users\ds_surk\Desktop\My soul.mp3”).start();
如需结束播放则需要这样写。
Play0 play0 = new Play0(“C:\Users\ds_surk\Desktop\My soul.mp3”);
play0.start(); //开启
play0.stop(); //结束
如果看不懂,直接粘即可,只需将 “C:\Users\ds_surk\Desktop\My soul.mp3” 替换成自己想要播放的音乐即可,格式为MP3。
#第二种方法
在JAVA程序中循环播放背景音乐的简单方法
在做JAVA课程的作业时,想要添加一个循环播放的背景音乐,无奈从网上搜了很久,结果倒是不少,要么过于复杂(对于一个课程作业来说),要么报错不断,要么加进去后并没有什么效果,要么既复杂又报错还没有效果。
走投无路的我正巧遇到了一个视频,名叫“How to Play,Loop,Pause and Stop Music in Java”,up主叫"Max O’Didily",看来代码也不长,就在我的程序里敲了一下,Amazing!竟然一下子把我花了两天时间百度都没解决的问题给整敞亮了。废话说完了,下面就直接把代码交了。
musicStuff类
public class musicStuff {
void playMusic(String musicLocation)
{
try
{
File musicPath = new File(musicLocation);
if(musicPath.exists())
{
AudioInputStream audioInput = AudioSystem.getAudioInputStream(musicPath);
Clip clip = AudioSystem.getClip();
clip.open(audioInput);
clip.start();
clip.loop(Clip.LOOP_CONTINUOUSLY);
}
else
{
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
}
需要import的东西跟着编辑器的提示点一点就成,这儿就不贴了。我这是循环播放音乐
主类
String filepath = “chicken.wav”;
musicStuff musicObject = new musicStuff();
musicObject.playMusic(filepath);
我是直接写在main函数的一开始,这样程序一运行起来音乐也就响起来了,非常amazing。"chicken.wav"是音乐文件的文件名,因为我给撂工程目录里了,所以这也是它的相对路径。
音乐相关
这种写法只认wav格式的音乐,要识别旁的好像还得用扩展。我这歌QQ音乐可以免费下载,然后拿格式工厂转成了wav格式。至于怎么添加进工程,我是用的eclipe,具体做法如下:
从文件夹里复制音乐文件。
在eclipes里点击最高层文件夹。
在这里插入图片描述
Ctrl + V
以上。