iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >利用java编写一个简单的音乐播放器
  • 179
分享到

利用java编写一个简单的音乐播放器

javaava 2023-05-31 13:05:00 179人浏览 安东尼
摘要

今天就跟大家聊聊有关利用java编写一个简单的音乐播放器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体内容如下源码:package baidu;import java.awt.*

今天就跟大家聊聊有关利用java编写一个简单的音乐播放器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

具体内容如下

利用java编写一个简单的音乐播放器

源码:

package baidu;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.swing.*;import javax.media.bean.playerbean.*; //这个包要用到JMFpublic class MP3 extends JFrame implements Runnable {public JLabel shijian;private jslider sldDiameter;public MediaPlayer soumd1;public JButton playSound, loopSound, stopsound;public JButton tjian, shanc, baocun, duqu;public JPanel jp1, jp2, jp3, jp4;public JList jl;int zongmiao=0;public Vector vector, minGCheng;boolean fo = false, geshi = false;JLabel jl1, jl2, sj1, sj2;JTextField jt1, jt2;JButton queding, xiugai;int zong = 0;int a = 0, b = 0, you = 1,mm=0;int fenzhong, miaozhong;public MP3() { super("java简单音乐播放器"); soumd1 = new MediaPlayer(); Container c = getContentPane(); c.setLayout(new FlowLayout()); mingcheng = new Vector(); jp1 = new JPanel(); shijian = new JLabel(); jp1.add(shijian); c.add(jp1); playSound = new JButton("开始播放"); loopSound = new JButton("循环播放"); stopsound = new JButton("停止播放"); jp2 = new JPanel(); jp2.add(playSound); jp2.add(loopSound); jp2.add(stopsound); c.add(jp2); jp4 = new JPanel(); sj1 = new JLabel(); sj2 = new JLabel(); sldDiameter = new JSlider(SwingConstants.HORIZONTAL, 0, 100, 0); sldDiameter.setMajorTickSpacing(1); sldDiameter.setPaintTicks(true); jp4.add(sj1); jp4.add(sldDiameter); jp4.add(sj2); c.add(jp4); vector = new Vector(); jl = new JList(mingcheng); jl.setVisibleRowCount(5); jl.setFixedCellHeight(40); jl.setFixedCellWidth(265); jl.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); c.add(new JScrollPane(jl)); tjian = new JButton("添加"); shanc = new JButton("删除"); duqu = new JButton("读取"); baocun = new JButton("保存"); jp3 = new JPanel(); jp3.add(tjian); jp3.add(shanc); jp3.add(baocun); jp3.add(duqu); c.add(jp3); try {  String s = "c:\music.txt";  ObjectInputStream input = new ObjectInputStream(   new FileInputStream(s));  lujin a1 = (lujin) input.readObject();  mingcheng = a1.b;  vector = a1.a;  jl.setListData(mingcheng); } catch (Exception e) {  System.out.println("c盘没有保存音乐文件");  //e.printStackTrace(); } baocun.addActionListener(new ActionListener() {  public void actionPerfORMed(ActionEvent event) {  JFileChooser fileChooser = new JFileChooser(); // 实例化文件选择器  fileChooser   .setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); // 设置文件选择模式,此处为文件和目录均可  if (fileChooser.showSaveDialog(MP3.this) == JFileChooser.APPROVE_OPTION) { // 弹出文件选择器,并判断是否点击了打开按钮   String fileName = fileChooser.getSelectedFile()    .getAbsolutePath(); // 得到选择文件或目录的绝对路径   mmm(vector, mingcheng, fileName);  }  } }); duqu.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent event) {  JFileChooser fileChooser = new JFileChooser(); // 实例化文件选择器  fileChooser   .setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); // 设置文件选择模式,此处为文件和目录均可  if (fileChooser.showOpenDialog(MP3.this) == JFileChooser.APPROVE_OPTION) { // 弹出文件选择器,并判断是否点击了打开按钮   String fileName = fileChooser.getSelectedFile()    .getAbsolutePath(); // 得到选择文件或目录的绝对路径   try {   ObjectInputStream input = new ObjectInputStream(    new FileInputStream(fileName));   lujin a1 = (lujin) input.readObject();   mingcheng = a1.b;   vector = a1.a;   jl.setListData(mingcheng);   } catch (Exception e) {   e.printStackTrace();   }  }  } }); playSound.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent e) {  if (jl.getSelectedIndex() >= 0) {   String yy = (String) vector.get(jl.getSelectedIndex());   File ff = new File(yy);   if (ff.exists()) {   if (yy.matches("[\S\s]*.mp3")|| yy.matches("[\S\s]*.MP3")) {    if (soumd1 != null) {    a = 0;    b = 0;    you = 0;    soumd1.stop();    }     soumd1.setMediaLocation("file:/" + yy);    fo = true;    soumd1.start();    geshi=true;    try {    Thread.sleep(500);    } catch (InterruptedException eee) {    }    zongmiao=(int)soumd1.getDuration().getSeconds();    if(zongmiao>10000)    {    try {     Thread.sleep(500);    } catch (InterruptedException ew) {    }    zongmiao=(int)soumd1.getDuration().getSeconds();    }    zongmiao=(int)soumd1.getDuration().getSeconds();    String aa=fen(zongmiao);     sj2.setText(aa);   } else    JOptionPane.showMessageDialog(null,     "播放文件格式的有错,无法播放 建议删除");   } else   JOptionPane.showMessageDialog(null,    "此歌曲文件已经不存在,建议删除");  }  else   JOptionPane.showMessageDialog(null, "请选择音乐文件");  } }); loopSound.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent e) {  if (jl.getSelectedIndex() >= 0) {   String yy = (String) vector.get(jl.getSelectedIndex());   File ff = new File(yy);   if (ff.exists()) {   if (yy.matches("[\S\s]*.mp3")|| yy.matches("[\S\s]*.MP3")) {    if (soumd1 != null) {    a = 0;    b = 0;    you = 0;    soumd1.stop();    }     soumd1.setMediaLocation("file:/" + yy);    fo = true;    soumd1.start();    geshi=true;    try {    Thread.sleep(500);    } catch (InterruptedException we) {    }    zongmiao=(int)soumd1.getDuration().getSeconds();    if(zongmiao>10000)    {    try {     Thread.sleep(500);    } catch (InterruptedException we) {    }    zongmiao=(int)soumd1.getDuration().getSeconds();    }    zongmiao=(int)soumd1.getDuration().getSeconds();    String aa=fen(zongmiao);     sj2.setText(aa);   } else    JOptionPane.showMessageDialog(null,     "播放文件格式的有错,无法播放 建议删除");   } else   JOptionPane.showMessageDialog(null,    "此歌曲文件已经不存在,建议删除");  }  else   JOptionPane.showMessageDialog(null, "请选择音乐文件");  } }); stopsound.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent e) {  a = 0;  b = 0;  you = 0;  mm=0;  geshi=false;  fo = false;  sldDiameter.setMaximum(100);  sldDiameter.setValue(0);  sj1.setText(null);  sj2.setText(null);  if (jl.getSelectedIndex() >= 0)   soumd1.stop();  } }); tjian.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent event) {  JFileChooser fileChooser = new JFileChooser(); // 实例化文件选择器  fileChooser   .setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); // 设置文件选择模式,此处为文件和目录均可  fileChooser.setCurrentDirectory(new File(".")); // 设置文件选择器当前目录  fileChooser   .setFileFilter(new javax.swing.filechooser.FileFilter() {    public boolean accept(File file) { // 可接受的文件类型    String name = file.getName().toLowerCase();    return name.endsWith(".mp3")     || file.isDirectory();    }    public String getDescription() { // 文件描述    return "音乐文件(*.mp3)";    }   });  if (fileChooser.showOpenDialog(MP3.this) == JFileChooser.APPROVE_OPTION) { // 弹出文件选择器,并判断是否点击了打开按钮   String fileName = fileChooser.getSelectedFile()    .getAbsolutePath(); // 得到选择文件或目录的绝对路径   vector.add(fileName);   StringBuffer buffer = daoxu(fileName);   mingcheng.add(buffer);  }  } }); shanc.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent event) {  if (jl.getSelectedIndex() >= 0) {   mingcheng.removeElementAt(jl.getSelectedIndex());   vector.removeElementAt(jl.getSelectedIndex());   jl.setListData(mingcheng);  }  } }); jl.addMouseListener(new MouseAdapter() {  public void mousePressed(MouseEvent event) {  if (event.getClickCount() == 2) {   if (jl.getSelectedIndex() >= 0) {   String yy = (String) vector.get(jl.getSelectedIndex());   File ff = new File(yy);   if (ff.exists()) {    if (yy.matches("[\S\s]*.mp3")|| yy.matches("[\S\s]*.MP3")) {    if (soumd1 != null) {     a = 0;     b = 0;     you = 0;     soumd1.stop();    }      soumd1.setMediaLocation("file:/" + yy);    fo = true;    soumd1.start();    geshi=true;    try {     Thread.sleep(500);    } catch (InterruptedException e) {    }    zongmiao=(int)soumd1.getDuration().getSeconds();    if(zongmiao>10000)    {     try {     Thread.sleep(500);     } catch (InterruptedException e) {     }    zongmiao=(int)soumd1.getDuration().getSeconds();    }    String aa=fen(zongmiao);      sj2.setText(aa);    } else    JOptionPane.showMessageDialog(null,     "播放文件格式的有错,无法播放 建议删除");   } else    JOptionPane.showMessageDialog(null,     "此歌曲文件已经不存在,建议删除");   }  }  if (event.isMetaDown()) {   if (jl.getSelectedIndex() >= 0) {   int a = jl.getSelectedIndex();   xiugai x = new xiugai();   jt1.setText(mingcheng.get(jl.getSelectedIndex()) + "");   jt2.setText(vector.get(jl.getSelectedIndex()) + "");   }  }  } }); addWindowListener(new WindowAdapter() {  public void windowClosing(WindowEvent e) {  String s = "c:\music.txt";  mmm(vector, mingcheng, s);  System.exit(0);   } }); setSize(300, 400); setVisible(true);}public void run() { while (true) {  Date now = new Date();  shijian.setText("当前时间: " + now.toString());  try {  Thread.sleep(1000);  } catch (InterruptedException e) {  }  if(geshi){  you=(int)soumd1.getMediaTime().getSeconds();  mm =you%60;   if(you!=0)  if(you%60==0)  {   b++;  }   sj1.setText(b+":"+mm);  sldDiameter.setMaximum(zongmiao);  if(you!=zongmiao)   sldDiameter.setValue(you);  else {   sldDiameter.setValue(0);  mm=0;    b=0;  }  } }}public StringBuffer daoxu(String fileName) { String mc = ""; for (int i = fileName.length(); i >= 1; i--) {  if (fileName.charAt(i - 1) == '\')  break;  mc += fileName.charAt(i - 1); } StringBuffer buffer = new StringBuffer(mc); StringBuffer mm = buffer.reverse(); return mm;}public void mmm(Vector vector, Vector mingcheng, String lujin) { lujin a = new lujin(vector, mingcheng); try {  ObjectOutputStream output = new ObjectOutputStream(new FileOutputStream(lujin));  output.writeObject(a);  output.flush();  output.close(); } catch (Exception e) { }}public String fen(int yy) {  fenzhong = (int) yy / 60;  miaozhong = (int) yy % 60;  String sss = fenzhong + ":" + miaozhong;  return sss;}public static void main(String agrs[]) { MP3 s = new MP3(); Thread t1 = new Thread(s); t1.start(); s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}class xiugai extends JFrame { public xiugai() {  jl1 = new JLabel("文件名");  jt1 = new JTextField(20);  jl2 = new JLabel("文件路径");  jt2 = new JTextField(20);  xiugai = new JButton("修改");  Container c = getContentPane();  c.setLayout(new GridLayout(3, 1));  JPanel j1 = new JPanel();  JPanel j2 = new JPanel();  JPanel j3 = new JPanel();  j1.add(jl1);  j1.add(jt1);  j2.add(jl2);  j2.add(jt2);  j3.add(xiugai);  c.add(j1);  c.add(j2);  c.add(j3);  xiugai.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent event) {   mingcheng.setElementAt(jt1.getText(), jl.getSelectedIndex());   vector.setElementAt(jt2.getText(), jl.getSelectedIndex());   jl.setListData(mingcheng);   dispose();  }  });  setSize(300, 120);  setVisible(true); }}}class lujin implements Serializable {Vector a = new Vector();Vector b = new Vector();public lujin(Vector vector, Vector mingcheng) { a = vector; b = mingcheng;}}

--结束END--

本文标题: 利用java编写一个简单的音乐播放器

本文链接: https://www.lsjlt.com/news/225751.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用java编写一个简单的音乐播放器
    今天就跟大家聊聊有关利用java编写一个简单的音乐播放器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。具体内容如下源码:package baidu;import java.awt.*...
    99+
    2023-05-31
    java ava
  • 一个简单的Java音乐播放器
    本文实例为大家分享了Java音乐播放器展示的具体代码,供大家参考,具体内容如下package KKMusic; import java.applet.Applet; import java.applet.AudioClip; import ...
    99+
    2023-05-31
    java 播放器 ava
  • 使用JavaScript编写一个音乐播放器
    这篇文章主要介绍了使用JavaScript编写一个音乐播放器,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:JavaScript是什么JavaScript是一种直译式的脚本语言,其解释器被...
    99+
    2023-06-06
  • 利用Android怎么编写一个本地音乐播放器
    利用Android怎么编写一个本地音乐播放器?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。音乐播放需要调用service,在此,只是简单梳理播放流程。public class ...
    99+
    2023-05-31
    android roi
  • 如何利用MySQL和Java开发一个简单的在线音乐播放器
    如何利用MySQL和Java开发一个简单的在线音乐播放器开发一个在线音乐播放器是一个具有挑战性和趣味性的项目。本文将介绍如何使用MySQL数据库和Java编程语言来构建一个简单的在线音乐播放器,并提供具体的代码示例。一、项目需求分析在开始开...
    99+
    2023-10-22
    MySQL Java 在线音乐播放器
  • 如何利用C++实现一个简单的音乐播放器程序?
    如何利用C++实现一个简单的音乐播放器程序?音乐播放器是我们日常生活中常见的应用程序之一。它能够让我们随时随地欣赏到自己喜爱的音乐,舒缓压力,享受美妙的音乐世界。下面,我将介绍如何使用C++编写一个简单的音乐播放器程序。首先,我们需要了解音...
    99+
    2023-11-02
    音乐播放器 C++ 实现
  • 利用Python编写本地音乐播放器
    先上完整代码: 修改文件夹路径即可运行 # -*- encoding: utf-8 -*- ''' @Description:       : @Date     :2022/03/...
    99+
    2022-11-13
  • 利用Android开发一个音乐播放器
    本篇文章为大家展示了利用Android开发一个音乐播放器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。读取本地音乐文件源代码:import android.media.MediaPlayer;imp...
    99+
    2023-05-31
    android roi
  • java 实现音乐播放器的简单实例
    java 实现音乐播放器的简单实例实现效果图:代码如下package cn.hncu.games;import java.applet.Applet;import java.applet.AudioClip;import java.awt....
    99+
    2023-05-31
    java 音乐 播放器
  • 如何使用MySQL和Java实现一个简单的音乐播放器功能
    如何使用MySQL和Java实现一个简单的音乐播放器功能引言:随着技术的不断发展,音乐播放器已经成为人们日常生活中不可或缺的一部分。本文将介绍如何使用MySQL和Java编程语言来实现一个简单的音乐播放器功能。文章将包含详细的代码示例,用于...
    99+
    2023-10-22
    音乐播放器 MySQL Java
  • 如何利用Python编写本地音乐播放器
    这篇文章主要为大家展示了“如何利用Python编写本地音乐播放器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何利用Python编写本地音乐播放器”这篇文章吧。先上完整代码:修改文件夹路径即可...
    99+
    2023-06-29
  • 基于Vue3编写一个简单的播放器
    目录TODO实现播放/暂停实现开始/结束时间及开始时间和滚动条动态跟随播放动态变化实现点击进度条跳转指定播放位置实现点击圆点拖拽滚动条TODO 实现播放/暂停;实现开始/结束时间及开...
    99+
    2023-03-02
    Vue3实现播放器 Vue3播放器 Vue播放器
  • Android利用Service开发简单的音乐播放功能
    android音乐播放效果,简单的服务开启。 这里将用到android的四大组件之一:Service 注意:Service是自大组件之一,需要注册。 什么是服务? 1:“...
    99+
    2023-05-15
    Android Service音乐播放 Android实现音乐播放
  • 如何通过C++编写一个简单的音频播放器程序?
    随着计算机技术的进步,音频播放器已经成为人们的日常生活中必不可少的工具。而在C++编程领域,如何编写一个简单的音频播放器程序呢?在本文中,我们将会探讨这个话题。一、 程序的基本框架编写一个音频播放器程序的时候,最重要的是要明确程序的基本框架...
    99+
    2023-11-04
    C++ 编写 音频播放器
  • HTML怎么制作一个简洁的音乐播放器
    这篇文章主要讲解了“HTML怎么制作一个简洁的音乐播放器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“HTML怎么制作一个简洁的音乐播放器”吧!   这个...
    99+
    2022-10-19
  • 怎么使用JS开发简单的音乐播放器
    本篇内容介绍了“怎么使用JS开发简单的音乐播放器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先,最终效...
    99+
    2022-10-19
  • 使用java怎么制作一个音乐播放器功能
    这期内容当中小编将会给大家带来有关使用java怎么制作一个音乐播放器功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。具体内容如下package baidu;import java.awt.*;impor...
    99+
    2023-05-31
    java ava
  • 在Java项目中使用 swing制作一个音乐播放器
    这期内容当中小编将会给大家带来有关在Java项目中使用 swing制作一个音乐播放器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实现代码: package com.baiting;import...
    99+
    2023-05-31
    java swing
  • 如何利用MySQL和Go语言开发一个简单的音频播放器
    如何利用MySQL和Go语言开发一个简单的音频播放器音频播放器是我们常见的应用之一,通过使用MySQL和Go语言,我们可以轻松地实现一个简单的音频播放器。本文将会介绍如何使用MySQL来存储音频文件的相关信息,并通过Go语言来实现音频文件的...
    99+
    2023-10-22
    MySQL Go语言 音频播放器
  • 如何通过C++编写一个简单的音乐推荐系统?
    如何通过C++编写一个简单的音乐推荐系统?引言:音乐推荐系统是现代信息技术的一个研究热点,它可以根据用户的音乐偏好和行为习惯,向用户推荐符合其口味的歌曲。本文将介绍如何使用C++编写一个简单的音乐推荐系统。一、收集用户数据首先,我们需要收集...
    99+
    2023-11-03
    简单 C++编程关键词: 音乐推荐系统 C++编写
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作