全网整合营销服务商

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

免费咨询热线: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 


相关文章: 高性价比服务器租赁——企业级配置与24小时运维服务  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  建站之星安装步骤有哪些常见问题?  如何在局域网内绑定自建网站域名?  网站制作壁纸教程视频,电脑壁纸网站?  清除minerd进程的简单方法  c# 在ASP.NET Core中管理和取消后台任务  ,购物网站怎么盈利呢?  如何快速启动建站代理加盟业务?  如何正确下载安装西数主机建站助手?  网站制作说明怎么写,简述网页设计的流程并说明原因?  详解jQuery中基本的动画方法  如何用y主机助手快速搭建网站?  建站主机无法访问?如何排查域名与服务器问题  北京建设网站制作公司,北京古代建筑博物馆预约官网?  建站之星代理如何优化在线客服效率?  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  ,制作一个手机app网站要多少钱?  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  广平建站公司哪家专业可靠?如何选择?  已有域名和空间,如何快速搭建网站?  大连 网站制作,大连天途有线官网?  建站之星如何配置系统实现高效建站?  已有域名和空间如何搭建网站?  音响网站制作视频教程,隆霸音响官方网站?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  英语简历制作免费网站推荐,如何将简历翻译成英文?  如何用PHP快速搭建高效网站?分步指南  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  如何选择高效稳定的ISP建站解决方案?  制作网站外包平台,自动化接单网站有哪些?  如何做网站制作流程,*游戏网站怎么搭建?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  定制建站流程步骤详解:一站式方案设计与开发指南  如何在橙子建站上传落地页?操作指南详解  ,交易猫的商品怎么发布到网站上去?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  香港服务器租用费用高吗?如何避免常见误区?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  湖北网站制作公司有哪些,湖北清能集团官网?  高端建站三要素:定制模板、企业官网与响应式设计优化  如何在宝塔面板中创建新站点?  高端建站如何打造兼具美学与转化的品牌官网?  建站之星代理平台如何选择最佳方案?  Android自定义控件实现温度旋转按钮效果  深入理解Android中的xmlns:tools属性  如何选择PHP开源工具快速搭建网站?  个人摄影网站制作流程,摄影爱好者都去什么网站? 

您的项目需求

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