『壹』 如何在java的界面中添加背景音乐
Java中可以通过AudioClip类来实现音乐播放,循环等操作。AudioClip支持的音乐格式有.wav、.mid、AIFF、AU、RMF,但是格式要求相当严格。我用AudioClip播放我自己录的一段wav文件就没有声音,让我纠结了很久,最后才发现我的wav文件内容没有写文件尾,对于格式要求严格的AudioClip而言是无法识别的(这个问题困扰了我整晚)。
AudioCLip主要的方法有:play()播放依次声音;loop()循环播放音乐;stop()停止播放。
做法一:
InputStream is =null;
AudioStream as = null ;
is = getClass().getResourceAsStream("a.wav");
try {
as = new AudioStream(is);
} catch (IOException e) {}
AudioPlayer.player.start(as);
此方法将音乐文件放入流中在播放,仅限于Java Application,容易报错,空指针异常,或者是流异常,不推荐。
做法二:
String music = "a.wav";
AudioClip clip = Applet.newAudioClip(getClass().getResource(music));
次方法在Applet中运行没有问题,但是Application中getclass()会返回空指针,导致失败。
推荐做法:
private URL url;
private AudioClip ac;
File f1 = new File("C:/3.wav");
try {
url= f1.toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ac= Applet.newAudioClip(cb1);
ac.play();
『贰』 如何在Java小程序中插入背景音乐
给你这个代码,绝对没问题,其他的代码有些时候与JFrame不能同时用,麻烦版死了。
java.net.URL file1 = getClass().getResource("NewTournament.wav");
AudioClip sound1 = java.applet.Applet.newAudioClip(file1);
sound1.play();
//sound1.loop();
//sound1.stop();
声音权文件可以放在。java文件的根目录下。
我为了找能在JFrame下能播放声音文件的代码,花了很长时间,估计你也是吧。
『叁』 JAVA程序加入背景音乐
import javax.sound.sampled.*;
import java.io.*;
public class Player{
AudioInputStream in=null;
AudioFormat format=null;
public Player(InputStream i) throws Exception{
in=AudioSystem.getAudioInputStream(i);
format=in.getFormat();
DataLine.Info info=new DataLine.Info(SourceDataLine.class,format);
SourceDataLine out=(SourceDataLine)AudioSystem.getLine(info);
out.open(format);
out.start();
int length=0;
byte data[]=new byte[1024];
while((length=in.read(data,0,1024))!=-1) out.write(data,0,length);
out.stop();
}
}
运行时:
File f=new File("...");
FileInputStream in=new FileInputStream(f);
new Player(in);
『肆』 java中Swing怎么添加音乐
JAVA应用程序添加背景音乐示例:
1.先定义一个 URL 对象,并赋NULL值;
URL musicURL = null;
2.然后为定义的 URL 赋值,即得到要播放的URL地址,
musicURL = new URL( "音乐地址");//得到要播放音乐的url
3.创建一个播放音频的实例,并得到这个实例
AudioClip ac = Applet.newAudioClip(musicURL); //得到一个播放音频的实例
4.进行播放控制
ac.play(); //播放一编
ac.loop(); //循环播放
ac.stop();//停止
播放本地音乐示例:
private void playMusic(){
try {
javax.media.Player player;
if(null==player){
File musicFile=new File("./music.mp3");//得到一个MP3文件
if(musicFile.exists()){
MediaLocator locator=new MediaLocator("file:"+musicFile.getAbsolutePath());
player = Manager.createRealizedPlayer(locator);
player.prefetch();//预读文件
}else{
System.err.println(pro.getMusicFile()+" 找不到");
}
}
//centerpanel.add(player.getControlPanelComponent()!=null?player.getControlPanelComponent():null);//显示播放工具
player.start();//播放
} catch (CannotRealizeException ex) {
ex.printStackTrace();
} catch (NoPlayerException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
}
『伍』 给java程序加背景音乐的代码~
一楼的回答说对了一部分,主要还是多线程的问题.
我的毕业设计也是做的一个小游戏程序--坦克大战,当初游戏逻辑界面都完成了想加入音频的时候也遇到了困难,最开始想到了多线程处理,也就是自身游戏的绘图线程占用着主线程,如果此时再在同一线程播放音频的话肯定会造成音频流或者绘图类paint阻塞,所以这时要为音频加入一个单独额外的线程,已达到避免线程阻塞的作用.
但是此时还是会出现音频不流畅的情况(当然,大多情况是出现短暂音效后便消失),主要问题在于Java在利用线程读取音频的时候,是通过流的方式读取的,此时可以考虑在程序加载之前先“预载”一次音频,当需要的时候再调用它的播放线程,利用流处理.这么做的好处是将音频存放在内存中,当需要的时候能正常的出现.当然,后面这段情况是在你运用到了多线程的时候才会出现的。
找了下毕设时的代码,如下:
/**
*该方法为音频流缓冲方法,在调用音频播放线程时调用
*/
public BufferedInputStream loadBomb(){
BufferedInputStream bufbomb = null;
try{
File dir = new File("D:/java/TankWar2.6/"); //所要播放文件的路径
File fObject = new File(dir,"bomb.wav"); //音频名
FileInputStream file = new FileInputStream(fObject);
bufbomb = new BufferedInputStream(file);
}catch(IOException e) {
System.out.println(e.getMessage());
}
return bufbomb;
}
/**
* 缓冲完毕的核爆音频播放线程
*/
private class BombMusic implements Runnable{ //通过流读取声音文件
BufferedInputStream buf;
public void run(){
buf = loadBomb();
try{
AudioStream audio = new AudioStream(buf);
AudioPlayer.player.start(audio);
}catch(IOException e){
e.printStackTrace();
}
}
}
『陆』 Java程序怎样添加背景音乐
你可以试一下下面的代码
import java.applet.AudioClip;
import java.io.*;
import java.applet.Applet;
import java.awt.Frame;
import java.net.MalformedURLException;
import java.net.URL;
public class JavaClip extends Frame{
public JavaClip(){
super();
}
public static void main(String args[]) {
try {
URL cb;
File f = new File("C:\\Documents and Settings\\Administrator\\桌面\\刀出鞘.wav"); //引号里面的是音乐文件所在的绝对鹿筋
cb = f.toURL();
AudioClip aau;
aau = Applet.newAudioClip(cb);
//aau.play();
aau.loop();
//循环播放 aau.play() 单曲 aau.stop()停止播放
JavaClip frame=new JavaClip();
//frame.setBounds(0, 0, 300, 200);
//frame.setVisible(true);
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
}
『柒』 java中如何添加背景音乐
import java.awt.BorderLayout;
import java.awt.Component;
import java.net.URL;
import javax.media.*;
public class PlayerApplet extends JApplet implements ControllerListener{
Player player = null;
public void init(){
setLayout(new BorderLayout());
String mediaFile = getParameter("FILE");
try{
URL mediaURL = new URL(getDocumentBase(),mediaFile);
player = Manager.createPlayer(mediaURL);
player.addControllerListener(this);
}catch(Exception ex){
System.err.println(ex.getMessage());
}
}
public void start(){
player.prefetch();
}
public void stop(){
//player.stop();
//player.deallocate();
}
public void destory(){
player.close();
}
public synchronized void controllerUpdate(ControllerEvent event){
if( event instanceof RealizeCompleteEvent ){
Component comp;
if(( comp = player.getVisualComponent() ) != null )
add("Center",comp);
if(( comp = player.getControlPanelComponent() ) != null)
add("South",comp);
validate();
}else if( event instanceof PrefetchCompleteEvent ){
player.setRate(3.0F);
player.start();
}
}
}
『捌』 如何实现java插入背景音乐
你是要播放哪类型的音乐呢,可以到网上找个mp3音乐的jar包就可以了,相关程序如下专 :public class Music extends Thread{
public void run()
{
Sequencer sequencer;
try{
sequencer = MidiSystem.getSequencer();
sequencer.open();
File my = new File("88.mid");
Sequence mySeq = MidiSystem.getSequence(my);
sequencer.setSequence(mySeq);
sequencer.setLoopCount(Sequencer.LOOP_CONTINUOUSLY);
sequencer.start();
}catch(Exception e){
e.printStackTrace();
}
}
}
希望可以帮到你,望采纳属,谢谢
『玖』 java程序 加背景音乐
import java.awt.*;
import java.applet.* ;
public class Sound extends Applet {
public void paint(Graphics g) {
AudioClip a=getAudioClip(getCodeBase(),"Take.wav");
//创建AudioClip对象并用getAudioClip方法将其初始化 ,文件格式必须为midi,au,wav,aiff,rmf.音频文件放置在bin文件夹下即可
g.drawString("Music ...",5,15); //添加字符串,可以不要
a.play(); //使用AudioClip类的play方法播放音乐
}
}