
正文
添加背景音乐java代码 添加背景音乐java代码怎么写
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
我想把我的java小程序中嵌入一个背景音乐,写出添加背景音乐代码。
放音乐的api网上查有很多,比如javax.sound.midi.*;
支持midi,mid背景音乐的播放
public class Music implements MetaEventListener, Runnable{
private Sequence sequence = null;
private Sequencer sequencer;
private boolean isPlaying = false;
private volatile Thread thread;
public Music(){
}
public Music(String midifile){
try {
loadMidi(midifile);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidMidiDataException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//导入midi文件到内存中传给Sequence对象,相当与编码器
public void loadMidi(String filename) throws IOException, InvalidMidiDataException{
sequence = MidiSystem.getSequence(this.getClass().getResourceAsStream(filename));
}
//播放方法
public void play(){
if(isPlaying){
return;
}
try {
sequencer = MidiSystem.getSequencer();
sequencer.open();
//用Sequencer对象把声音文件序列解码出来播放
sequencer.setSequence(sequence);
sequencer.addMetaEventListener(this);
//设置循环次数,-1表示一直循环
sequencer.setLoopCount(-1);
sequencer.setLoopStartPoint(0);
sequencer.setLoopEndPoint(sequencer.getTickLength());
} catch (MidiUnavailableException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvalidMidiDataException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(thread == null){
thread = new Thread(this);
thread.start();
}
}
public void stop(){
if(isPlaying){
sequencer.stop();
isPlaying = false;
}
if(thread != null){
thread = null;
}
}
public void meta(MetaMessage meta) {
if(meta.getType() == 47){
System.out.println("Sequencer is done playing");
}
// TODO Auto-generated method stub
}
public void run() {
// TODO Auto-generated method stub
Thread current = Thread.currentThread();
while(current == thread !isPlaying){
sequencer.start();
isPlaying = true;
try {
thread.sleep(1001);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//用起来也很方便
public static void main(String[] args){
Music music = new Music("a.mid");
music.play();
}
}
如果这样写路径类要和音频文件放在一个目录下,如果你不想这样,有两种方法,一种是修改路径字符串,另一种是把Class.getResourceAsStream方法改成new FileInputStream 这两个方法加载资源的初始路径不同,前者找class文件所在目录,后者找project目录
相关问答
Q1: 求在java中添加背景音乐的代码
不知道添加背景音乐java代码你是在java里哪添加添加背景音乐java代码?Swing界面中吗?
下面这个是添加背景音乐java代码我之前做Swing界面程序时添加音乐添加背景音乐java代码的代码添加背景音乐java代码,希望对你有帮助
AudioClip[] musics;//定义音乐集合
musics = new AudioClip[2];//初始化
URL url1 = this.getClass().getResource("/ReadyGo.WAV"); //定义音乐文件地址
URL url2 = this.getClass().getResource("/back1.mid"); //定义音乐文件地址
musics[0] = JApplet.newAudioClip(url1);
musics[1] = JApplet.newAudioClip(url2);
musics[0].play();//音乐开始执行
musics[1].stop();//停止播放
Q2: 用Java编写了个小游戏想给游戏加上背景音乐用什么方法
播放音乐添加背景音乐java代码的代码 添加背景音乐java代码了解一下 可以直接加到小游戏里
package com.music.test;
import javazoom.jl.decoder.JavaLayerException;
import javazoom.jl.player.Player;
import java.io.*;
public class Music {
private String music;
private Player player;
public Music() throws FileNotFoundException, JavaLayerException {
FileInputStream file = new FileInputStream("e:/闹钟.mp3");
BufferedInputStream name = new BufferedInputStream(file);
player = new Player(name);
player.play();
}
public static void main(String[] args) throws FileNotFoundException, JavaLayerException{
new Music();
}
}
Q3: Java编程中如何加入背景音乐
我给你一段代码吧,你可以试着修改着用bgsound
src="music/shouye.mp3"
loop="-1"
/你可以把代码复制到/head后面,“music/shouye.mp3”部分注意换成你自己音乐文件的位置(地址可以不用手动输入,直接打空格scr=后可以选择)。其中
loop代表循环="-1"代表循环无穷次。
添加背景音乐java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于添加背景音乐java代码怎么写、添加背景音乐java代码的信息别忘了在本站进行查找喔。





