java做mp3_用java编写MP3播放器
展开全部
作业其实还是自己写的好。要用到JMF包啊,到网上下载一个JMF包,照着说明安装上。
以下是我写e68a84e8a2ad62616964757a686964616f31333332643336的一个很简单的播放器,只能播放mp3,mpeg,mpg,wav等简单的格式。
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.MediaLocator;
import javax.media.RealizeCompleteEvent;
import javax.media.bean.playerbean.MediaPlayer;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.JList;
import java.awt.BorderLayout;
import javax.swing.JSplitPane;
import java.awt.Component;
import java.util.Vector;
public class JMF_T extends JFrame implements ControllerListener, ActionListener {
MediaPlayer Player;
private String filename = "";
private static final long serialVersionUID = 1L;
private Vector vct = new Vector(); // @jve:decl-index=0:
private JPanel jContentPane = null;
private JSplitPane jSplitPane = null;
private JPanel playPanel = null;
private JList jList = null;
private JSplitPane getJSplitPane() {
if (jSplitPane == null) {
jSplitPane = new JSplitPane();
jSplitPane.setDividerSize(5);
jSplitPane.setResizeWeight(0.8);
jSplitPane.setRightComponent(getJList());
jSplitPane.setLeftComponent(getPlayPanel());
}
return jSplitPane;
}
private JPanel getPlayPanel() {
if (playPanel == null) {
playPanel = new JPanel();
playPanel.setLayout(new BorderLayout());
}
return playPanel;
}
private JList getJList() {
if (jList == null) {
jList = new JList();
jList.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
// TODO Auto-generated Event stub mouseClicked()
if (e.getClickCount() == 1) {
String str = (String) jList.getSelectedValue();
if (str == null) {
return;
}
filename = str;
System.out.println(str);
}
if (e.getClickCount() == 2) {
String str = (String) jList.getSelectedValue();
if (str == null) {
return;
}
filename = str;
play();
}
}
});
}
return jList;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JMF_T thisClass = new JMF_T();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
public JMF_T() {
initialize();
}
private void OpenFile() {
FileDialog fd = new FileDialog(this, "Choose Video", FileDialog.LOAD);
fd.setVisible(true);
filename = fd.getDirectory() + fd.getFile();
System.out.println(filename);
if (filename.equals("")) {
return;
} else if (filename.equals("nullnull")) {
return;
}
boolean j = false;
for (int i = 0; i < vct.size(); i++) {
if (vct.get(i).toString().equals(filename)) {
j = true;
break;
}
}
if (j == false) {
vct.add(filename);
jList.setListData(vct);
}
}
private void stop() {
if (Player != null) {
Player.stop();
Player.deallocate();
}
}
private void play() {
try {
if (filename.equals("")) {
return;
}
if (Player == null) {
Player = new MediaPlayer();
} else {
closePreviosPlayer();
}
Player.setMediaLocator(new MediaLocator("file:///" + filename));
Player.addControllerListener(this);
Player.realize();
Player.start();
} catch (Exception e) {
}
}
public void actionPerformed(ActionEvent e) {
String action = e.getActionCommand().toString();
if (action.equals("Open")) {
OpenFile();
}
if (action.equals("Play")) {
play();
}
if (action.equals("Stop")) {
stop();
}
if (action.equals("Exit")) {
dispose();
System.exit(0);
}
}
private void initialize() {
this.setSize(500, 350);
setLocation(300, 100);
this.setContentPane(getJContentPane());
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
MenuBar mb = new MenuBar();
setMenuBar(mb);
Menu fileMenu = new Menu("File");
Menu actMenu = new Menu("Action");
mb.add(fileMenu);
mb.add(actMenu);
MenuItem itemOpen = new MenuItem("Open");
itemOpen.addActionListener(this);
fileMenu.add(itemOpen);
fileMenu.addSeparator();
MenuItem itemPlay = new MenuItem("Play");
itemPlay.addActionListener(this);
actMenu.add(itemPlay);
actMenu.addSeparator();
MenuItem itemStop = new MenuItem("Stop");
itemStop.addActionListener(this);
actMenu.add(itemStop);
MenuItem itemExit = new MenuItem("Exit");
itemExit.addActionListener(this);
fileMenu.add(itemExit);
this.validate();
this.setVisible(true);
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.add(getJSplitPane(), BorderLayout.CENTER);
}
return jContentPane;
}
private void closePreviosPlayer() {
if (Player == null)
return;
Player.stop();
Player.deallocate(); // 停止播放并且重新装载DateSource
Component visual = Player.getVisualComponent();
Component control = Player.getControlPanelComponent();
if (visual != null) {
playPanel.remove(visual);
}
if (control != null) {
playPanel.remove(control);
}
}
public synchronized void controllerUpdate(ControllerEvent event) {
if (event instanceof RealizeCompleteEvent) {
Component comp;
if ((comp = Player.getControlPanelComponent()) != null) {
playPanel.add("South", comp);
} else {
closePreviosPlayer();
}
if ((comp = Player.getVisualComponent()) != null) {
playPanel.add("Center", comp);
}
validate();
}
}
}
本回答由网友推荐
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
java做mp3_用java编写MP3播放器相关推荐
- delphi 裁剪mp3_用delphi编写mp3播放器
发信人: pp_vivi(simon) unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Contr ...
- C语言头文件下载迅雷,[C语言] 基于GStreamer编写Mp3播放器
#include #include //消息处理函数 static gboolean bus_call(GstBus * bus, GstMessage *msg, gpointer data) { ...
- GStreamer 编写一个简单的MP3播放器
本文介绍如何使用GStreamer 编写一个简单的MP3播放器. 1,需要使用mad解码插件,因此需要先安装gstreamer0.10-plugins-ugly 2,编写mp3播放器 下面来看看如何利 ...
- java mp3播放器 无界面
一.服务器端: 最近没有系统学习的计划,看了开源的YOYOPlayer(一个相当强大的播放器软件,基于java编写),心里痒痒,比较肤浅的学习下javasound. javasound是比较小巧的底层 ...
- java mp3播放器 ×××面
一.服务器端: 最近没有系统学习的计划,看了开源的YOYOPlayer(一个相当强大的播放器软件,基于java编写),心里痒痒,比较肤浅的学习下javasound. javasound是比较小巧的底层 ...
- java mp3播放器
我正在用java做一个mp3播放器,有兴趣的同志可以联系我,源代码开放. 主要采用jlayer + swing + hsqldb,仿千千静听,已经实现了千千静听部分功能 有兴趣的同志可以联系QQ:38 ...
- java mp3 暂停,Java MP3播放器 - 使用jLayer播放,暂停和搜索不能正常工作
我正在尝试在java中实现mp3播放器,它将从字节数组中播放音频 . 该类应该像这样工作: 加载用aes加密的mp3文件 将其解密为bytes / inputstream数组 播放变量中的音乐 让用户 ...
- 安卓java自实现mp3播放器,基于安卓Android的MP3播放器的设计与实现
基于安卓Android的MP3播放器的设计与实现(含开题报告,毕业论文14000字,程序代码) [摘 要] 本课题致力于开发出一款基于Android手机平台的MP3音乐播放器应用,采用Andr ...
- FLex 编写网页MP3播放器
FLex 编写网页MP3播放器 随着互联网的快速发展,HTML5显得越来越强势,个人认为,在短时间内Flex还是具有先天独厚的优势,就比如写个网页播放器,几行代码就可以搞定.现在给大家分享一下源码,可 ...
最新文章
- leetcode-92 反转链表II
- 知识体系地图模型:你是如何有效地学习?
- 校园表白墙APP使用体验
- python字符编码解码,文件编码解码。
- Java基础提升高级API
- fastreport iif小于条件_杭州灭菌柜验证需要什么条件
- 专业测试工程师浅谈功能测试用例模板设计
- 瑞能实业IPO被终止:年营收4.47亿 曾拟募资3.76亿
- 利用Jmeter进行压力测试(基础版)
- 人工智能中,自动驾驶汽车是如何自动识别交通标志的?
- react-shopping-cart尺码筛选
- ui设计是什么:ui设计学什么内容
- SVG格式文件插入Word/WPS,三种简单快捷的方法,实现图片高清无损
- Excel学习笔记之基础篇
- Seventh season twenty-first episode,Monica and Chandler both did not know how to write their vows???
- 序列化Serializable、Parcelable
- Java范例开发大全源程序
- 蓝魔平板i9s刷机Android,蓝魔i9s从Windows 8.1系统刷回Android系统图文教程
- NASA官网下载全球雨量数据
- 三星android 4.04,三星Galaxy note i889如何Odin线刷4.04