音乐相册Java代码 音乐相册源码

求一个JAVA音乐播放器的源代码

import javax.media.ControllerEvent;

创新互联公司公司2013年成立,先为永宁等服务建站,永宁等地企业,进行企业商务咨询服务。为永宁企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

import javax.media.ControllerListener;

import javax.media.EndOfMediaEvent;

import javax.media.PrefetchCompleteEvent;

import javax.media.RealizeCompleteEvent;

import javax.media.*;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class MediaPlayer extends JFrame implements ActionListener,

ItemListener, ControllerListener {

String title;

Player player;

boolean first = true, loop = false;

Component vc, cc;

String currentDirectory=null;

// 构造函数,其中包括了设置响应窗口事件的监听器。

MediaPlayer(String title) {

super(title);

/* 关闭按钮的实现。。 */

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose();

}

public void windowClosed(WindowEvent e) {

if (player != null)

player.close();

System.exit(0);

}

});

// 调用程序菜单栏的方法成员完成菜单的布置

setupMenu();

setSize(400, 400);

setVisible(true);

}

// 本方法用以设置程序菜单栏

public void setupMenu() {

// 设置一个菜单

Menu f = new Menu("文件");

// 往设置的菜单添加菜单项

MenuItem mi = new MenuItem("打开");

f.add(mi);

mi.addActionListener(this);

f.addSeparator();

CheckboxMenuItem cbmi = new CheckboxMenuItem("循环", false);

cbmi.addActionListener(this);

f.add(cbmi);

f.addSeparator();

MenuItem ee = new MenuItem("退出");

ee.addActionListener(this);

f.add(ee);

f.addSeparator();

Menu l = new Menu("播放列表");

Menu c = new Menu("播放控制");

MenuItem move = new MenuItem("播放");

move.addActionListener(this);

c.add(move);

c.addSeparator();

MenuItem pause = new MenuItem("暂停");

pause.addActionListener(this);

c.add(pause);

c.addSeparator();

MenuItem stop = new MenuItem("停止");

stop.addActionListener(this);

c.add(stop);

c.addSeparator();

// 设置一个菜单栏

MenuBar mb = new MenuBar();

mb.add(f);

mb.add?;

mb.add(l);

// 将构造完成的菜单栏交给当前程序的窗口;

setMenuBar(mb);

}

// 动作时间响应成员;捕捉发送到本对象的各种事件;

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

String cufile, selectfile, currentDirectory;

if (e.getActionCommand().equals("退出")) {

// 调用dispose以便执行windowClosed

dispose();

return;

}

// 此事表明拥护选择了“播放”命令;

// 如果当前有一个文件可以播放则执行播放命令;

if (e.getActionCommand().equals("播放")) {

if (player != null) {

player.start();

}

return;

}

// 如果当前正在播放某一文件,则执行暂停;

if (e.getActionCommand().equals("暂停")) {

if (player != null) {

player.stop();

}

return;

}

// 停止命令的响应;

if (e.getActionCommand().equals("停止")) {

if (player != null) {

player.stop();

player.setMediaTime(new Time(0));

}

return;

}

// 用户选择要播放的媒体文件

if (e.getActionCommand().equals("打开")) {

FileDialog fd = new FileDialog(this, "打开媒体文件", FileDialog.LOAD);

// fd.setDirectory(currentDirectory);

2008-2-6 02:46 回复

肆方茉莉

62位粉丝

6楼

fd.setVisible(true);

// 如果用户放弃选择文件,则返回

if (fd.getFile() == null) {

return;

}

// 保存了所选文件的名称及其路径名称已被稍后使用

// 同时设置当前文件夹路径

selectfile = fd.getFile();

currentDirectory = fd.getDirectory();

cufile = currentDirectory + selectfile;

// 将用户选择的文件作为一个菜单项加入播放列表,该菜单项名为该文件名;

// 被点击后给出的命令串是该文件的全路径名

MenuItem mi = new MenuItem(selectfile);

mi.setActionCommand(cufile);

MenuBar mb = getMenuBar();

Menu m = mb.getMenu(2);

mi.addActionListener(this);

m.add(mi);

} else {

// 程序逻辑运行到次表示用户选择了一个“播放列表”中的媒体文件

// 此时可以通过如下动作获得该文件的全路径名

cufile = e.getActionCommand();

selectfile = cufile;

}

// 如果存在一个播放器,则先将其关闭,稍后再重新创建

// 创建播放器时需要捕捉一些异常

if (player != null) {

player.close();

}

try {

player = Manager.createPlayer(new MediaLocator("file:" + cufile));

} catch (Exception e2) {

System.out.println(e2);

return;

}/*

* catch(NoPlayerException e2){ System.out.println("不能找到播放器");

* return ; }

*/

if (player == null) {

System.out.println("无法创建播放器");

return;

}

first = false;

setTitle(selectfile);

// 设置处理播放控制器实际的对象;

/**/

player.addControllerListener(this);

player.prefetch();

}

// 菜单状态改变事件的响应函数;

public void itemStateChanged(ItemEvent arg0) {

// TODO Auto-generated method stub

}

public static void main(String[] args) {

// TODO Auto-generated method stub

new MediaPlayer("播放器");

}

// 调用绘图函数进行界面的绘制 // public void update() {

// }

// 绘图函数成员 //public void paint(Graphics g) {

// }

public void controllerUpdate(ControllerEvent e) {

// TODO Auto-generated method stub

Container tainer = getContentPane();

// 调用player.close()时ControllerClosedEvent事件出现

// 如果存在视觉部件,则该部件应该拆除(为了一致起见,我们对控制面版部件也执行同样的操作,下一次需要时再构造)

if (e instanceof ControllerClosedEvent) {

if (vc != null) {

remove(vc);

vc = null;

}

if (cc != null) {

remove(cc);

cc = null;

}

}

// 播放结束时,将播放指针置于文件之首,如果设定了循环播放,则再次启动播放器;

if (e instanceof EndOfMediaEvent) {

player.setMediaTime(new Time(0));

if (loop) {

player.start();

}

return;

}

// PrefetchCompletEvent事件发生后调用start,正式启动播放

if (e instanceof PrefetchCompleteEvent) {

player.start();

return;

}

// 本事件表示由于播放的资源已经确定;此时要将媒体的图形conmopnent

// 如果有显示出来,同时将播放器player的控制显示到窗口里;

if (e instanceof RealizeCompleteEvent) {

// 如果媒体中有图像,将对应图像component载入窗体;

vc = player.getVisualComponent();

if (vc != null)

tainer.add(vc, BorderLayout.CENTER);

// 将对应控制器component载入窗体;

cc = player.getControlPanelComponent();

cc.setBackground(Color.blue);

if (cc != null)

tainer.add(cc, BorderLayout.SOUTH);

// 有一些特殊媒体在播放时提供另外的控制手段,将控制器一并加入窗口;

/*

* gc=player.getGainControl(); gcc=gc.getControlComponent();

* if(gcc!=null) tainer.add(gcc,BorderLayout.NORTH);

*/

// 根据媒体文件中是否有图像,设定相应的窗口大小

if (vc != null) {

pack();

return;

} else {

setSize(300, 75);

setVisible(true);

return;

}

}

} }

java音乐的存储路径下面是我们老师的一段wav播放器的代码,但是我不知道要对应的歌曲应该保存在哪边?

不是在工程目录的根目录的resource文件夹,

就是src目录里的resource文件夹。

求在java中添加背景音乐的代码

不知道你是在java里哪添加?Swing界面中吗?

下面这个是我之前做Swing界面程序时添加音乐的代码,希望对你有帮助

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();//停止播放

求一个截取歌曲名称的代码 java 如下

String name = "/uplocafile/manager/music/爱是你我.mp3";

String musicName = name.substring(name.lastIndexOf("/")+1,name.lastIndexOf("."));

System.out.println(musicName);

谁能给我一个JAVA电子相册或音乐播放器的代码啊 急急急

我自己做过一个类似的电子相册,但功能很不够全面,给你参考下...

import java.awt.*;

import java.awt.event.*;

import java.applet.*;

public class img4 extends Applet

{

static Button btn1,btn2,btn3,btn4,btn5;

public void init()

{

setBackground(Color.cyan);

setVisible(true);

setLayout(null);

img4cvs cvs=new img4cvs();

btn1=new Button("下一页");

btn2=new Button("上一页");

btn4=new Button("自动播放");

btn5=new Button("停止");

add(btn1);

add(btn2);

add(btn4);

add(btn5);

add(cvs);

btn2.setBounds(550,60,60,30);

btn1.setBounds(550,120,60,30);

btn4.setBounds(550,180,60,30);

btn5.setBounds(550,240,60,30);

cvs.setBounds(30,30,500,400);

btn1.addActionListener(cvs);

btn2.addActionListener(cvs);

btn4.addActionListener(cvs);

btn5.addActionListener(cvs);

validate();

}

class Backcolor extends Thread

{

public void run()

{int j=0;int m=0;int n=0;

while(true)

{

try{

if(j255m255n255)

{

j++;

sleep(100);

Color col1=new Color(j,m,n);

setBackground(col1); }

else if(j==255m255)

{

m++;

sleep(100);

Color col2=new Color(j,m,n);

setBackground(col2); }

else if(j==255m==255n255)

{

n++;

sleep(100);

Color col3=new Color(j,m,n);

setBackground(col3);}

else if(j==255m==255n==255)

{

j=55;

m=55;

n=55;

}

}

catch(InterruptedException e){}

}

}

}

public void start()

{

Backcolor thread2=new Backcolor();

thread2.start();

}

}

class img4cvs extends Canvas implements ActionListener

{

Image[] img;

int pg=0;

volatile boolean pleaseStop;

//String FONTS="Serif";

//String TEXT="我们很性感2!!";

img4cvs()

{

img=new Image[12];

Toolkit tl=getToolkit();

for(int i=0;i=11;i++)

{

img[i]=tl.getImage("img0"+i+".JPG");

}

}

class Play extends Thread

{

public void run()

{

while(!pleaseStop)

{

try{

pg++;

if(pg11){pg=0;}

sleep(1500);

}

catch(InterruptedException e){}

repaint();

}

}

}

public void actionPerformed(ActionEvent e)

{

Play thread=new Play();

if(e.getSource()==img4.btn1)

{

pg++;

if(pg11){pg=0;}

repaint();

}

else if(e.getSource()==img4.btn2)

{

pg--;

if(pg0){pg=11;}

repaint();

}

else if(e.getSource()==img4.btn4)

{

pleaseStop=false;

thread.start();

}

else if(e.getSource()==img4.btn5)

{

pleaseStop=true;

}

}

public void paint(Graphics g)

{

/*g.setColor(Color.black);

g.setFont(new Font(FONTS,Font.BOLD+Font.ITALIC,20));

g.drawString(TEXT,0,500);*/

g.drawImage(img[pg],0,0,500,400,this);

}

}

/*

applet code="img4.class" width=650 height=500

/applet

*/

如何使用Java代码获取播放文件的时长

java中直接使用AudioInputStream类来操作音乐文件,获取时长,实例如下:

import java.io.File;

import java.io.IOException;

import javax.sound.sampled.AudioInputStream;

import javax.sound.sampled.AudioSystem;

import javax.sound.sampled.Clip;

import javax.sound.sampled.LineUnavailableException;

import javax.sound.sampled.UnsupportedAudioFileException;

public class AudioLength {

public static void main(String[] args) throws LineUnavailableException,

UnsupportedAudioFileException, IOException {

File file = new File("d:/test.wav");

Clip clip = AudioSystem.getClip();

AudioInputStream ais = AudioSystem.getAudioInputStream(file);

clip.open(ais);

System.out.println( clip.getMicrosecondLength() / 1000000D + " s" );//获取音频文件时长

}

}


分享名称:音乐相册Java代码 音乐相册源码
网站网址:http://bzwzjz.com/article/hiscgi.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 品牌网站建设 四川成都网站制作 重庆手机网站建设 响应式网站设计方案 网站建设公司 成都网站设计 营销网站建设 成都网站建设 梓潼网站设计 LED网站设计方案 网站建设方案 成都网站设计 成都网站制作 成都网站建设公司 公司网站建设 营销网站建设 成都网站制作 成都营销网站制作 外贸网站设计方案 响应式网站设计 成都网站制作 成都网站设计