全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

一个简单的Java音乐播放器

本文实例为大家分享了Java音乐播放器展示的具体代码,供大家参考,具体内容如下

package KKMusic;

 import java.applet.Applet;
 import java.applet.AudioClip;
 import java.awt.BorderLayout;
 import java.awt.EventQueue;
 

 import javax.swing.JFrame;
 import javax.swing.JPanel;
 import javax.swing.border.EmptyBorder;
 import java.awt.CardLayout;
 import javax.swing.JButton;
 import javax.swing.JFileChooser;
 import javax.sound.sampled.FloatControl;
 import javax.sound.sampled.SourceDataLine;
 import javax.swing.GroupLayout;
 import javax.swing.GroupLayout.Alignment;
 import java.awt.event.ActionListener;
 import java.awt.event.ActionEvent;
 import javax.swing.LayoutStyle.ComponentPlacement;
 import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;
 import java.awt.event.ItemListener;
 import java.io.File;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.awt.event.ItemEvent;
 import javax.swing.JMenu;
 import javax.swing.JTextField;
 import javax.swing.SwingConstants;
 import javax.swing.JSlider;
 import java.awt.event.MouseMotionAdapter;
 import java.awt.event.MouseEvent;
 

public class Mp3 extends JFrame {
 
private JPanel contentPane;
 File file;//声明文件对象
 String filename;
 JFileChooser chooser=new JFileChooser();//创建一个文件选择器
 private JTextField xiaoxi;
 boolean loop=false;
 AudioClip adc;//声音音频剪辑对象
 SourceDataLine line;
 private FloatControl volume = null;
 /**
 * Launch the application.
 */
 public static void main(String[] args) {
 EventQueue.invokeLater(new Runnable() {
 public void run() {
 try {
 Mp3 frame = new Mp3();
 frame.setVisible(true);
 } catch (Exception e) {
 e.printStackTrace();
 }
 }
 });
 }
 

/**
 * Create the frame.
 */
 public Mp3() {
 setTitle("\u97F3\u4E50\u64AD\u653E\u5668");
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 setBounds(100, 100, 265, 333);
 
JMenuBar menuBar = new JMenuBar();
 setJMenuBar(menuBar);
 
JMenu mnNewMenu = new JMenu("\u6587\u4EF6");
 menuBar.add(mnNewMenu);
 xiaoxi = new JTextField();
 xiaoxi.setColumns(10);
 xiaoxi.setText("欢迎使用本播放器");
 JMenuItem dakai = new JMenuItem("\u6253\u5F00");
 dakai.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {
 int value=chooser.showOpenDialog(chooser);//接受文件选择器的状态
 if(value==chooser.APPROVE_OPTION){
 file=chooser.getSelectedFile();//返回选中文件
 filename=file.getName();
 String flag=filename;
 xiaoxi.setText(flag);
 try {
 if(adc!=null)
 adc.stop();
 URL url=new URL("file:"+file.getPath());//创建资源定位
 adc=Applet.newAudioClip(url);
 //adc.play();
 
} catch (MalformedURLException e1) {
 // TODO Auto-generated catch block
 e1.printStackTrace();
 System.out.println("不能播放!");
 }
 }
 }
 });
 mnNewMenu.add(dakai);
 
JMenuItem tuichu = new JMenuItem("\u9000\u51FA");
 tuichu.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {

 dispose();
 if(adc!=null)
 adc.stop();
 return ;
 }
 });
 
mnNewMenu.add(tuichu);
 contentPane = new JPanel();
 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
 setContentPane(contentPane);
 
JButton playbtn = new JButton("\u64AD\u653E");
 playbtn.setHorizontalAlignment(SwingConstants.LEFT);
 playbtn.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {
 
 String flag="正在播放:"+filename;
 if(adc==null){
 flag="请选择播放的音乐";
 xiaoxi.setText(flag);
 return;
 }
 adc.play();
 xiaoxi.setText(flag);
 }
 });
 
JButton stopbtn = new JButton("\u6682\u505C");
 stopbtn.setHorizontalAlignment(SwingConstants.LEFT);
 stopbtn.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {
 adc.stop();
 String flag="停止播放音乐:"+filename;
 xiaoxi.setText(flag);
 }
 });
 
JButton againbtn = new JButton("\u5FAA\u73AF");
 againbtn.setHorizontalAlignment(SwingConstants.LEFT);
 againbtn.addActionListener(new ActionListener() {
 public void actionPerformed(ActionEvent e) {
 loop =!loop;
 String flag="";
 ; if(loop){
 adc.play();
 adc.loop();//循环播放
 flag="循环播放:"+filename;
 }
  else{
  adc.play();
  flag="顺序播放"+filename;
  }
  xiaoxi.setText(flag);
 }
 });
 



GroupLayout gl_contentPane = new GroupLayout(contentPane);
 gl_contentPane.setHorizontalGroup(
 gl_contentPane.createParallelGroup(Alignment.LEADING)
 .addGroup(gl_contentPane.createSequentialGroup()
 .addContainerGap()
 .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING, false)
 .addComponent(xiaoxi, Alignment.LEADING)
 .addGroup(Alignment.LEADING, gl_contentPane.createSequentialGroup()
 .addComponent(playbtn, GroupLayout.PREFERRED_SIZE, 64, GroupLayout.PREFERRED_SIZE)
 .addPreferredGap(ComponentPlacement.UNRELATED)
 .addComponent(stopbtn, GroupLayout.PREFERRED_SIZE, 66, GroupLayout.PREFERRED_SIZE)
 .addPreferredGap(ComponentPlacement.UNRELATED)
 .addComponent(againbtn, GroupLayout.PREFERRED_SIZE, 64, GroupLayout.PREFERRED_SIZE)))
 .addContainerGap(15, Short.MAX_VALUE))
 );
 gl_contentPane.setVerticalGroup(
 gl_contentPane.createParallelGroup(Alignment.TRAILING)
 .addGroup(gl_contentPane.createSequentialGroup()
 .addComponent(xiaoxi, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
 .addPreferredGap(ComponentPlacement.UNRELATED)
 .addPreferredGap(ComponentPlacement.RELATED, 173, Short.MAX_VALUE)
 .addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
 .addComponent(playbtn)
 .addComponent(stopbtn)
 .addComponent(againbtn))
 .addContainerGap())
 );
 contentPane.setLayout(gl_contentPane);
 }
 
}

运行结果如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Java音乐播放器  # Java音乐播放  # Java播放器  # 教你轻松制作java音乐播放器  # java实现简单音乐播放器  # java 实现音乐播放器的简单实例  # java音乐播放器实现代码  # java音乐播放器编写源码  # Java实现的简单音乐播放器功能示例  # 简单实现java音乐播放器  # java实现音乐播放器完整代码(调整显示音量大小、调整进度、图片切换)  # 播放器  # 选择器  # 请选择  # 大家分享  # 正在播放  # 创建一个  # 具体内容  # 大家多多  # 不能播放  # contentPane  # file  # extends  # private  # text  # style  # chooser  # String  # filename  # JMenu  # JTextField 


相关文章: 制作网站的基本流程,设计网站的软件是什么?  建站之星免费版是否永久可用?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  如何快速搭建安全的FTP站点?  建站之星2.7模板:企业网站建设与h5定制设计专题  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  如何配置WinSCP新建站点的密钥验证步骤?  开心动漫网站制作软件下载,十分开心动画为何停播?  如何选择香港主机高效搭建外贸独立站?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星3.0如何解决常见操作问题?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何高效利用亚马逊云主机搭建企业网站?  如何撰写建站申请书?关键要点有哪些?  如何通过西部数码建站助手快速创建专业网站?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  建站之星如何快速更换网站模板?  如何在万网ECS上快速搭建专属网站?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  如何快速生成ASP一键建站模板并优化安全性?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  网站图片在线制作软件,怎么在图片上做链接?  如何做网站制作流程,*游戏网站怎么搭建?  济南企业网站制作公司,济南社保单位网上缴费步骤?  建站主机无法访问?如何排查域名与服务器问题  如何选择服务器才能高效搭建专属网站?  微信小程序 五星评分(包括半颗星评分)实例代码  网页设计与网站制作内容,怎样注册网站?  h5在线制作网站电脑版下载,h5网页制作软件?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何在新浪SAE免费搭建个人博客?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  模具网站制作流程,如何找模具客户?  广州建站公司哪家好?十大优质服务商推荐  如何通过VPS建站无需域名直接访问?  东莞专业制作网站的公司,东莞大学生网的网址是什么?  Swift中循环语句中的转移语句 break 和 continue  建站之星安全性能如何?防护体系能否抵御黑客入侵?  如何在宝塔面板中修改默认建站目录?  威客平台建站流程解析:高效搭建教程与设计优化方案  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  香港服务器租用费用高吗?如何避免常见误区?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星安装后如何配置SEO及设计样式?  网站制作大概多少钱一个,做一个平台网站大概多少钱? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。