我用java做了个swing界面,怎么实现播放MP3格式的背景音乐

我用java做了个swing界面,怎么实现播放MP3格式的背景音乐,第1张

package mp3;

import javaawtColor;

import javaawtContainer;

import javaawtFileDialog;

import javaawteventMouseEvent;

import javaawteventMouseListener;

import javaioIOException;

import javautilArrayList;

import javautilList;

import javautilVector;

import javaxmediaController;

import javaxmediaManager;

import javaxmediaMediaLocator;

import javaxmediaNoPlayerException;

import javaxmediaPlayer;

import javaxswingImageIcon;

import javaxswingJButton;

import javaxswingJFrame;

import javaxswingJLabel;

import javaxswingJList;

import javaxswingJOptionPane;

import javaxswingJPopupMenu;

import javaxswingJScrollBar;

import javaxswingJScrollPane;

import javaxswingJTextField;

import javaxswingJTextPane;

/

@param 黄飞

2013710

/

public class Mp3 extends JFrame implements MouseListener

{

private JButton jbtAddSong,jbtRemove;//添加歌曲按钮,

private JList jliSong;//歌曲列表

private String directory = "",up;//文件名字符串和文件路径字符串

private Player play; //播放

private JLabel jlbPlay,jlbUp,jlbBelow,jlbSuspend,jlbS,jlbPlay2,jlbUp2,jlbBelow2,jlbSuspend2,jlbBk,jlbm;//播放,上一首,下一首,暂停,顶上

private JScrollPane jscSong;//歌曲列表滚动条

Vector<String> vector = new Vector<String>();

public Mp3()

{

//框架的大小位置

thissetBounds(300, 50, 700, 600);

thissetTitle("梦游音乐");

Container con = thisgetContentPane();

thissetDefaultCloseOperation(JFrameEXIT_ON_CLOSE);

consetLayout(null);

// 添加歌曲按钮

jbtAddSong = new JButton(" 添加歌曲 ");

jbtAddSongsetForeground(Colorblue);

jbtAddSongsetBackground(Colorblack);

jbtAddSongsetBounds(0, 530, 100, 30);

jbtAddSongaddMouseListener(this);

conadd(jbtAddSong);

//删除歌曲按钮

jbtRemove = new JButton(" 删除歌曲 ");

jbtRemovesetForeground(Colorblue);

jbtRemovesetBackground(Colorblack);

jbtRemovesetBounds(100, 530, 100, 30);

jbtRemoveaddMouseListener(this);

conadd(jbtRemove);

//播放按钮标签

jlbPlay =new JLabel(new ImageIcon("src/image/播放1jpg"));

jlbPlaysetBounds(51, 27, 44, 53);

jlbPlayaddMouseListener(this);

conadd(jlbPlay);

jlbPlay2 =new JLabel(new ImageIcon("src/image/播放2jpg"));

jlbPlay2setBounds(51, 27, 44, 53);

jlbPlay2addMouseListener(this);

jlbPlay2setVisible(false);

conadd(jlbPlay2);

//暂停标签

jlbSuspend =new JLabel(new ImageIcon("src/image/停1jpg"));

jlbSuspendsetBounds(51, 32, 50, 44);

jlbSuspendaddMouseListener(this);

conadd(jlbSuspend);

jlbSuspend2 =new JLabel(new ImageIcon("src/image/停2jpg"));

jlbSuspend2setBounds(51, 32, 50, 44);

jlbSuspend2addMouseListener(this);

jlbSuspend2setVisible(false);

conadd(jlbSuspend2);

//歌曲列表将列表放入滚动条区域

jliSong = new JList();

jliSongsetBounds(0, 79, 200, 450);

jscSong = new JScrollPane(jliSong);

jscSongsetBounds(0, 80,200, 450);

/jliSongsetBackground(Color);/

conadd(jscSong);

//上一首

jlbUp = new JLabel(new ImageIcon("src/image/上1jpg"));

jlbUpsetBounds(0, 30,51,46);

jlbUpaddMouseListener(this);

conadd(jlbUp);

jlbUp2 = new JLabel(new ImageIcon("src/image/上2jpg"));

jlbUp2setBounds(0, 30,51,46);

jlbUp2addMouseListener(this);

jlbUp2setVisible(false);

conadd(jlbUp2);

//下一首

jlbBelow = new JLabel(new ImageIcon("src/image/下1jpg"));

jlbBelowsetBounds(100, 30,51,46);

jlbBelowaddMouseListener(this);

conadd(jlbBelow);

jlbBelow2 = new JLabel(new ImageIcon("src/image/下2jpg"));

jlbBelow2setBounds(100, 30,51,46);

jlbBelow2addMouseListener(this);

jlbBelow2setVisible(false);

conadd(jlbBelow2);

//梦

jlbm = new JLabel(new ImageIcon("src/image/梦5gif"));

jlbmsetBounds(200,0,500,78);

conadd(jlbm);

//上面

jlbBk = new JLabel(new ImageIcon("src/image/上7jpg"));

jlbBksetBounds(0,0,700,78);

conadd(jlbBk);

//右边

jlbS = new JLabel(new ImageIcon("src/image/背6jpg"));

jlbSsetBounds(200,55,500,650);

conadd(jlbS);

}

/

@param 黄飞

2013710

/

public static void main(String[] args)

{

Mp3 mp3= new Mp3();//在本类新建一个 对象 实现上面的构造方法

mp3setVisible(true);

}

public void mouseClicked(MouseEvent e) {

//如果点击的是添加歌曲按钮

jliSongsetSelectionBackground(Colorblack);

jliSongsetSelectionForeground(ColorlightGray);

if(egetSource() == jbtAddSong)

{

/ Systemoutprintln(play());/

FileDialog fd = new FileDialog(this,"打开媒体文件",FileDialogLOAD);//显示一个对话框窗口,用户可以从中选择文件

fdsetVisible(true);

up = fdgetFile();//保存文件名

directory = fdgetDirectory();//保存文件路径

if(vectorcontains(up) )

{

JOptionPaneshowMessageDialog(this, "你添加的歌曲已在列表");//提示客服端

}

else{

vectoradd(up);//将文件名变量加入 集合

jliSongsetListData(vector);//将集合放入列表

/Systemoutprintln(vectorget(i));//

i++;/

}

}

//如果点击的是删除歌曲

else if(egetSource()==jbtRemove)

{

try {

// 通过所点击列表的元素获取对应名字,通过一样的索引获取集合中的对象

vectorremove(jliSonggetSelectedValue());//删除集合中的所选对象

//将新集合加入列表

jliSongsetListData(vector);

}

catch (ArrayIndexOutOfBoundsException e1)

{

}

}

//如果点击的是播放

else if(egetSource() == jlbPlay)//如果点击的是播放标签

{

if(jliSonggetSelectedValue()!=null)//如果列表指示选择不为空

{

if(play != null)//如果有正在播放的歌曲进去下面 关闭

{

playstart();

//显示暂停图标

jlbPlaysetVisible(false); //当点击播放时隐藏播放图标

jlbSuspendsetVisible(true);

return;

}

else

{

try {

int i = vectorindexOf(jliSonggetSelectedValue());//获取列表中索引也是同时给集合获取索引

String up = vectorget(i);//通过索引获取元素

jliSongsetSelectedIndex(i);//指示跳到当前选择的列表元素

play = ManagercreatePlayer(new MediaLocator("file:"+directory+ up));//播放由字符串形成的路径及歌曲

} catch (NoPlayerException e1)

{

e1printStackTrace();

} catch (IOException e1)

{

e1printStackTrace();

}

playstart();

jlbPlaysetVisible(false);//当点击播放时隐藏播放图标

jlbSuspendsetVisible(true); //显示暂停图标

}

}

}

//如果点击的是暂停

else if(egetSource() == jlbSuspend)

{

if(play != null)//如果有正在播放的歌曲进去下面 关闭

{

playstop();

jlbPlaysetVisible(true);//点击暂停时显示播放图标

jlbSuspendsetVisible(false);//隐藏暂停图标

}

return;

}

//如果点击的是下一首

else if(egetSource() == jlbBelow)

{

if(play != null)//如果有正在播放的歌曲进去下面 关闭

{

playclose();

}

try {

int i = vectorindexOf(jliSonggetSelectedValue());//获取列表中索引也是同时给集合获取索引

String up = vectorget(i+1);//通过索引获取列表下一首歌

jliSongsetSelectedIndex(i+1);//使列表指示移到下一首歌曲

if(up!=null)

{

play = ManagercreatePlayer(new MediaLocator("file:"+directory+up));//创建容器放入要播放的歌曲

playstart(); //开始播放

jlbPlaysetVisible(false);//隐藏播放图标

jlbSuspendsetVisible(true); //显示暂停图标

}

}

catch (NoPlayerException e1)

{

e1printStackTrace();

} catch (IOException e1)

{

e1printStackTrace();

}

catch(ArrayIndexOutOfBoundsException e3)

{

if(up!=null)

{

String fris = vectorget(0);//获取列表集合的第一个对象

try {

play = ManagercreatePlayer(new MediaLocator("file:"+directory+fris));//放入播放器

} catch (NoPlayerException e1)

{

// TODO 自动生成 catch 块

e1printStackTrace();

} catch (IOException e1)

{

// TODO 自动生成 catch 块

e1printStackTrace();

}//创建容器放入要播放的歌曲

playstart(); //开始播放

jliSongsetSelectedIndex(0);//显示选择的是这个列表元素

jlbPlaysetVisible(false);//隐藏播放图标

jlbSuspendsetVisible(true); //显示暂停图标

}

}

}

//如果点击的是上一首

else if(egetSource() == jlbUp)

{

if(play != null)//如果有正在播放的歌曲进去下面 关闭正在播放的歌曲

{

playclose();

}

try {

int i = vectorindexOf(jliSonggetSelectedValue());//获取列表中索引也是同时给集合获取索引

String up = vectorget(i-1);//通过索引获取下一首歌

jliSongsetSelectedIndex(i-1);//设计目前列表选择的歌曲

if(up!=null)

{

play = ManagercreatePlayer(new MediaLocator("file:"+directory+up));

playstart();

jlbPlaysetVisible(false);

jlbSuspendsetVisible(true);

}

} catch (NoPlayerException e1)

{

e1printStackTrace();

} catch (IOException e1)

{

e1printStackTrace();

}

catch(ArrayIndexOutOfBoundsException e3)

{

try {

// 创建容器放入要播放的歌曲

play = ManagercreatePlayer(new MediaLocator("file:"+directory+up));

playstart(); //开始播放

jliSongsetSelectedIndex(vectorindexOf(up));//播放最后一首歌曲

jlbPlaysetVisible(false);//隐藏播放图标

jlbSuspendsetVisible(true); //显示暂停图标

} catch (NoPlayerException e1)

{

e1printStackTrace();

} catch (IOException e1)

{

e1printStackTrace();

}

}

}

}

public void mouseEntered(MouseEvent e)

{

}

public void mouseExited(MouseEvent e) {

}

public void mousePressed(MouseEvent e) {

}

public void mouseReleased(MouseEvent e) {

}

}

刚写完 你运气好

背景音乐最简单

首先准备一个背景音乐的音频文件例如:

<audio src="/mp3/xxmp3" controls="controls" preload id="music" hidden> </audio>

在打开游戏的时候就用JS触发,其他音效也是一样的

先准备好音频文件,当某个节点触发后读取这条对应的音频文件就可以了!

JAVA程序计算素数

设计JAVA application程序,计算出20000000~300000000之间所有的素数,并将找到的素数写入primefiledat文件,

以下是一个使用Java语言编写的程序,可以计算出20000000~300000000之间所有的素数,并将找到的素数写入primefiledat文件:

javaCopy code

import javaioFileOutputStream; import javaioIOException; public class PrimeNumberCalculator { public static void main(String[] args) { int start = 20000000; int end = 300000000; String filename = "primefiledat"; try (FileOutputStream fileOutputStream = new FileOutputStream(filename)) { for (int i = start; i <= end; i++) { if (isPrime(i)) { fileOutputStreamwrite(StringvalueOf(i)getBytes()); fileOutputStreamwrite(SystemlineSeparator()getBytes()); } } } catch (IOException e) { eprintStackTrace(); } } private static boolean isPrime(int n) { if (n <= 1) { return false; } for (int i = 2; i <= Mathsqrt(n); i++) { if (n % i == 0) { return false; } } return true; } }

该程序首先定义了起始数字和终止数字,以及文件名。接下来,在main方法中,程序使用for循环迭代从start到end之间的每个数字。对于每个数字,程序调用isPrime方法来判断它是否为素数。如果是素数,程序将该数字写入文件中,每个数字占一行。

isPrime方法使用了一个简单的算法来判断一个数字是否为素数:如果数字小于或等于1,那么它不是素数。否则,程序从2开始,一直到该数字的平方根之间的每个数字进行除法运算。如果该数字能被任何一个这些数字整除,那么它不是素数。

请注意,在此程序中,我们使用了Java 7引入的"try-with-resources"语句来自动关闭文件输出流。这样可以确保即使在发生异常的情况下,文件输出流也会被正确关闭,以避免文件被损坏。

背景音乐: ToolkitgetAudioClip("wav")loop();

游戏结束后调用stop();

象Windows自带的扫雷,表情其实是作为一个Button的Icon,你可以在判断是否为雷的逻辑中追加,buttonsetIcon(createImageIcon("哭脸gif"));

笑脸则可以buttonsetIcon(createImageIcon("笑脸gif"));

Threadsleep(100);buttonsetIcon(createImageIcon("正常gif"));

以上就是关于我用java做了个swing界面,怎么实现播放MP3格式的背景音乐全部的内容,包括:我用java做了个swing界面,怎么实现播放MP3格式的背景音乐、我用Java写了个贪吃蛇的小游戏想在游戏中加入背景音乐等等各种音效应该用什么方法、用java写一个程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9857184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存