Java是一个小游戏,如何给游戏添加背景音乐,请附上代码,希望添加背景音乐的代码能短一点!谢谢你。。
audioPlayWave = new myMusicPlay(" 1 . wav ");//打开音乐
audioplaywave . start();
music openlab = 1;
//音乐子类别(所有恶业儿童,互惠互利)
导入Java . io . file;
导入Java . io . io exception;
导入javax . sound . sampled . audio format;
导入javax . sound . sampled . audio inputstream;
导入javax . sound . sampled . audio system;
导入javax . sound . sampled . dataline;
导入javax . sound . sampled . float control;
导入javax . sound . sampled . lineunavailableexception;
导入javax . sound . sampled . source dataline;
import javax . sound . sampled . unsupportdaudiofileexception;
公共类myMusicPlay扩展线程{
私有字符串文件名;
private final int EXTERNAL _ BUFFER _ SIZE = 524288;
公共myMusicPlay(字符串wavFile) {
this.fileName = wavFile
}
公共无效运行(){
File soundFile =新文件(文件名);//播放音乐的文件名
如果(!soundFile.exists()) {
System.err.println("找不到Wave文件:"+fileName);
返回;
}
While (true) {//设置循环播放。
AudioInputStream音频输入流= null//创建音频输入流对象
尝试{
audio inputstream = audio system . getaudioinputstream(sound file);//创建音频对象
} catch(unsupportdaudiofileexception e 1){
e 1 . printstacktrace();
返回;
} catch (IOException e1) {
e 1 . printstacktrace();
返回;
}
audio format format = audio inputstream . get format();//音频格式
SourceDataLine auline = null//源数据线
数据线。Info info =新数据行。Info(SourceDataLine.class,format);
尝试{
auline =(source dataline)audio system . getline(info);
auline.open(格式);
} catch(LineUnavailableException e){
e . printstacktrace();
返回;
} catch(异常e) {
e . printstacktrace();
返回;
}
if(au line . iscontrolsupported(float control。Type.PAN)) {
浮动控制盘=(浮动控制)auline
。getControl(FloatControl。type . PAN);
}
auline . start();
int nBytesRead = 0;
byte[] abData =新字节[外部缓冲区大小];
尝试{
while (nBytesRead!= -1) {
nBytesRead = audioInputStream
。read(abData,0,abData . length);
if(nBytesRead & gt;= 0)
auline.write(abData,0,nBytesRead);
}
} catch (IOException e) {
e . printstacktrace();
返回;
}最后{
auline . drain();
//auline . close();
}
}
}
}