java程序中如何播放音频文件
一个简单的程序就可以,越简单越好,最好直接可以贴到Jcreator上运行,谢谢了问题补充:我前天就在百度里搜到过这个,贴进去运行不了,编译器找不到getAudioClip...
一个简单的程序就可以,越简单越好,最好直接可以贴到Jcreator上运行,谢谢了
问题补充:我前天就在百度里搜到过这个,贴进去运行不了,编译器找不到getAudioClip(),和getCodeBase(),我确定我已经导入了java.applet.*;包,各位朋友们,我是初学JAVA的,自己写了个连连看,想把声音加进去,帮帮忙,我加分了。。。 (我注意了音频的格式,用的是.wav和.mid格式的音频文件) 展开
问题补充:我前天就在百度里搜到过这个,贴进去运行不了,编译器找不到getAudioClip(),和getCodeBase(),我确定我已经导入了java.applet.*;包,各位朋友们,我是初学JAVA的,自己写了个连连看,想把声音加进去,帮帮忙,我加分了。。。 (我注意了音频的格式,用的是.wav和.mid格式的音频文件) 展开
1个回答
展开全部
import java.io.File;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.DataLine;
public class PlayMusic {
public static void main(String[] args){
PlayMusic.Play("F:\\ProProject\\Java\\ArixTetris\\src\\1.wav");
}
//播放音频文件
public static void Play(String fileurl){
try{
AudioInputStream ais = AudioSystem.getAudioInputStream(new File(fileurl));
AudioFormat aif = ais.getFormat();
SourceDataLine sdl = null;
DataLine.Info info = new DataLine.Info(SourceDataLine.class, aif);
sdl = (SourceDataLine) AudioSystem.getLine(info);
sdl.open(aif);
sdl.start();
int nByte = 0;
byte[] buffer = new byte[128];
while (nByte != -1){
nByte = ais.read(buffer, 0, 128);
if (nByte >= 0){
sdl.write(buffer, 0, nByte);
}
}
sdl.stop();
}
catch (Exception e){}
}
}
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.DataLine;
public class PlayMusic {
public static void main(String[] args){
PlayMusic.Play("F:\\ProProject\\Java\\ArixTetris\\src\\1.wav");
}
//播放音频文件
public static void Play(String fileurl){
try{
AudioInputStream ais = AudioSystem.getAudioInputStream(new File(fileurl));
AudioFormat aif = ais.getFormat();
SourceDataLine sdl = null;
DataLine.Info info = new DataLine.Info(SourceDataLine.class, aif);
sdl = (SourceDataLine) AudioSystem.getLine(info);
sdl.open(aif);
sdl.start();
int nByte = 0;
byte[] buffer = new byte[128];
while (nByte != -1){
nByte = ais.read(buffer, 0, 128);
if (nByte >= 0){
sdl.write(buffer, 0, nByte);
}
}
sdl.stop();
}
catch (Exception e){}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询