Java实现的简单音乐播放器功能示例
作者:c_jian 发布时间:2021-08-06 20:06:54
标签:Java,音乐播放器
本文实例讲述了Java实现的简单音乐播放器功能。分享给大家供大家参考,具体如下:
应用名称:Java简单的音乐播放器
用到的知识:Java GUI编程,线程,IO
开发环境:win8+eclipse+jdk1.8
功能说明:可以选择内置的音乐文件播放,循环播放,停止。PS:这个播放器只能播放.au .aiff .wav .midi .rfm格式的音频。
效果图:
源代码:
import java.applet.AudioClip;
import java.awt.*;
import java.net.*;
import java.awt.event.*;
import java.io.*;
import java.applet.*;
import javax.swing.*;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
public class MusicPlayer extends JDialog implements Runnable,ItemListener,ActionListener{
/**
*
*/
private static final long serialVersionUID = 1L;
Thread thread;
JComboBox<Serializable> choiceMusic;
AudioClip clip;
JButton buttonPlay,buttonLoop,buttonStop;
String str;
MusicPlayer(){
thread=new Thread(this);
choiceMusic=new JComboBox();
choiceMusic.addItem("选择音频文件");
choiceMusic.addItem("src/1.wav");
choiceMusic.addItem("2.wav");
choiceMusic.addItem("3.wav");
choiceMusic.addItemListener(this);
buttonPlay=new JButton("播放");
buttonLoop=new JButton("循环");
buttonStop=new JButton("停止");
buttonPlay.addActionListener(this);
buttonLoop.addActionListener(this);
buttonStop.addActionListener(this);
setLayout(new FlowLayout());
add(choiceMusic);
add(buttonPlay);
add(buttonLoop);
add(buttonStop);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setSize(350,80);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==buttonPlay)
clip.play();
else if(e.getSource()==buttonLoop)
clip.loop();
else if(e.getSource()==buttonStop)
clip.stop();
}
@Override
public void itemStateChanged(ItemEvent arg0) {
str=choiceMusic.getSelectedItem().toString();
if(!(thread.isAlive())){
thread=new Thread(this);
}
try{thread.start();
}
catch(Exception ee){}
}
@Override
public void run() {
try {
File file=new File(str);
URI uri=file.toURI();
URL url=uri.toURL();
clip=Applet.newAudioClip(url);
} catch (MalformedURLException e) {
}
}
public static void main(String[] args) {
MusicPlayer musicplayer=new MusicPlayer();
musicplayer.setVisible(true);
}
}
希望本文所述对大家java程序设计有所帮助。
来源:https://blog.csdn.net/C_jian/article/details/50509044


猜你喜欢
- 需要实现看门狗功能,定时检测另外一个程序是否在运行,使用 crontab 仅可以实现检测程序是否正在运行,无法做到扩展,如:手动重启、程序升
- 本文实例为大家分享了Intent实现页面跳转的两种的方法,供大家参考,具体内容如下下图中两个不同的方法就是两种页面之间跳转的情况1).跳转不
- 本文实例讲述了C#远程获取图片文件流的方法。分享给大家供大家参考,具体如下:protected void Page_Load(object
- 前言最近写一个东东,可能会考虑到字符串拼接,想了几种方法,但对性能未知,所以下面就来测试下面,话不多说了,来一起看看详细的介绍吧。示例代码p
- CardView介绍CardView是Android 5.0系统引入的控件,相当于FragmentLayout布局控件然后添加圆角及阴影的效
- 数据表格能够清晰的呈现数据信息,但是我们对于一些繁杂多变的数据想要很直观的看到数据变化走势或者数据的占比时,数据图表会更具代表性,并且在呈现
- 问题 @Cacheable注解不支持配置过期时间,所有需要通过配置CacheManneg来配置默认的过期时间和针对每个类或者是方法进行缓存
- 一、什么是桥接模式:桥接,顾名思义,就是用来连接两个部分,使得两个部分可以互相通讯,桥接模式的作用就是为被分离的抽象部分和实现部分搭桥。在现
- 目录一对一关联保存:留言表实体类配置:(主表)留言内容表配置:(从表)留言表hbm.xml配置:(主表)留言内容表hbm.xml配置:(从表
- 一. 多任务和Task、启动模式Android 手机在早期,下方通常会内置三个实体的触摸按键,分别是:桌面、菜单、返回。大概在Android
- 在实现下拉框的基础上进行二级联动(这个项目有bug添加可以完成,但是修改获取不到对应的值,这个问题解决以后我会在发布一篇文章)JS部分//二
- 1、Java字符串在 Java 中字符串被作为 String 类型的对象处理。 String 类位于 java.lang 包中,默认情况下该
- 1、右值1.1 简介首先区分一下左右值:左值是指存储在内存中、有明确存储地址(可取地址)的数据;右值是指可以提供数据值的数据(不可取地址)如
- 概述MerkleTree被广泛的应用在比特币技术中,本文旨在通过代码实现一个简单的MerkleTree,并计算出Merkle tree的 T
- 前言上一篇通过clusterservice对cluster做了一个简单的概述, 应该能够给大家一个初步认识。本篇将对cluster的代码组成
- 先看一下效果图实现思路:变成点的控件不是TextView和EditText而是Imageview。首先写一个RelativeLayout里边
- java 算法之归并排序详解一、思想 归并排序:将一个数组排序,可以先(递归地)将它分成两半部份分别排序,然后将结果归并起来; &
- 窗口是GUI编程的基础,小应用程序或图形界面的应用程序的可视组件都放在窗口中,在GUI中,窗口是用户屏幕的一部分,起着在屏幕中一个小屏幕的作
- 一:引入依赖包<!-- https://mvnrepository.com/artifact/org.springframework.
- 很多公司由于历史原因,都会有自研的RPC框架。尤其是在2015-2017期间,Spring Cloud刚刚面世,Dubbo停止维护多年,很多