展开全部

作业其实还是自己写的好。要用到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播放器相关推荐

  1. delphi 裁剪mp3_用delphi编写mp3播放器

    发信人: pp_vivi(simon) unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Contr ...

  2. C语言头文件下载迅雷,[C语言] 基于GStreamer编写Mp3播放器

    #include #include //消息处理函数 static gboolean bus_call(GstBus * bus, GstMessage *msg, gpointer data) { ...

  3. GStreamer 编写一个简单的MP3播放器

    本文介绍如何使用GStreamer 编写一个简单的MP3播放器. 1,需要使用mad解码插件,因此需要先安装gstreamer0.10-plugins-ugly 2,编写mp3播放器 下面来看看如何利 ...

  4. java mp3播放器 无界面

    一.服务器端: 最近没有系统学习的计划,看了开源的YOYOPlayer(一个相当强大的播放器软件,基于java编写),心里痒痒,比较肤浅的学习下javasound. javasound是比较小巧的底层 ...

  5. java mp3播放器 ×××面

    一.服务器端: 最近没有系统学习的计划,看了开源的YOYOPlayer(一个相当强大的播放器软件,基于java编写),心里痒痒,比较肤浅的学习下javasound. javasound是比较小巧的底层 ...

  6. java mp3播放器

    我正在用java做一个mp3播放器,有兴趣的同志可以联系我,源代码开放. 主要采用jlayer + swing + hsqldb,仿千千静听,已经实现了千千静听部分功能 有兴趣的同志可以联系QQ:38 ...

  7. java mp3 暂停,Java MP3播放器 - 使用jLayer播放,暂停和搜索不能正常工作

    我正在尝试在java中实现mp3播放器,它将从字节数组中播放音频 . 该类应该像这样工作: 加载用aes加密的mp3文件 将其解密为bytes / inputstream数组 播放变量中的音乐 让用户 ...

  8. 安卓java自实现mp3播放器,基于安卓Android的MP3播放器的设计与实现

    基于安卓Android的MP3播放器的设计与实现(含开题报告,毕业论文14000字,程序代码) [摘  要]    本课题致力于开发出一款基于Android手机平台的MP3音乐播放器应用,采用Andr ...

  9. FLex 编写网页MP3播放器

    FLex 编写网页MP3播放器 随着互联网的快速发展,HTML5显得越来越强势,个人认为,在短时间内Flex还是具有先天独厚的优势,就比如写个网页播放器,几行代码就可以搞定.现在给大家分享一下源码,可 ...

最新文章

  1. leetcode-92 反转链表II
  2. 知识体系地图模型:你是如何有效地学习?
  3. 校园表白墙APP使用体验
  4. python字符编码解码,文件编码解码。
  5. Java基础提升高级API
  6. fastreport iif小于条件_杭州灭菌柜验证需要什么条件
  7. 专业测试工程师浅谈功能测试用例模板设计
  8. 瑞能实业IPO被终止:年营收4.47亿 曾拟募资3.76亿
  9. 利用Jmeter进行压力测试(基础版)
  10. 人工智能中,自动驾驶汽车是如何自动识别交通标志的?
  11. react-shopping-cart尺码筛选
  12. ui设计是什么:ui设计学什么内容
  13. SVG格式文件插入Word/WPS,三种简单快捷的方法,实现图片高清无损
  14. Excel学习笔记之基础篇
  15. Seventh season twenty-first episode,Monica and Chandler both did not know how to write their vows???
  16. 序列化Serializable、Parcelable
  17. Java范例开发大全源程序
  18. 蓝魔平板i9s刷机Android,蓝魔i9s从Windows 8.1系统刷回Android系统图文教程
  19. NASA官网下载全球雨量数据
  20. 三星android 4.04,三星Galaxy note i889如何Odin线刷4.04

热门文章

  1. 2014年计算机专业硕士研究生好就业吗?一位计算机专业硕士毕业生的求职经历和感想
  2. 【嵌入式10】stm32CubeMX+Keil使用HAL库点灯,并使用逻辑分析仪观察周期
  3. windows下使用vscode开发stm32
  4. 如何下载安装和使用 Office 2016的中文语言包?
  5. 人物角色(Persona)
  6. 关于options请求的一点理解
  7. 编写一个C 程序,并使用系统调用fork()创建一个子进程
  8. 计算机使用的显示器主要有两类,2015年计算机专转本预测题及答案
  9. [数据结构]二叉树的结构及实现
  10. 如何扩展Orchard