最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實(shí)現(xiàn)的簡(jiǎn)單音樂(lè)播放器功能示例

 更新時(shí)間:2019年02月25日 10:30:04   作者:c_jian  
這篇文章主要介紹了Java實(shí)現(xiàn)的簡(jiǎn)單音樂(lè)播放器功能,涉及java針對(duì)多媒體文件相關(guān)載入、播放相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)的簡(jiǎn)單音樂(lè)播放器功能。分享給大家供大家參考,具體如下:

應(yīng)用名稱:Java簡(jiǎn)單的音樂(lè)播放器

用到的知識(shí):Java GUI編程,線程,IO

開(kāi)發(fā)環(huán)境:win8+eclipse+jdk1.8

功能說(shuō)明:可以選擇內(nèi)置的音樂(lè)文件播放,循環(huán)播放,停止。PS:這個(gè)播放器只能播放.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("循環(huán)");
    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);
  }
}

更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Java中的ConcurrentLinkedQueue松散隊(duì)列解析

    Java中的ConcurrentLinkedQueue松散隊(duì)列解析

    這篇文章主要介紹了Java中的ConcurrentLinkedQueue松散隊(duì)列解析,鏈表是松散的,鏈表節(jié)點(diǎn)并不都是有效的,允許存在無(wú)效節(jié)點(diǎn)val=null,但是只有最后一個(gè)節(jié)點(diǎn)才能next=null,需要的朋友可以參考下
    2023-12-12
  • SpringMVC實(shí)現(xiàn)獲取請(qǐng)求參數(shù)方法詳解

    SpringMVC實(shí)現(xiàn)獲取請(qǐng)求參數(shù)方法詳解

    Spring MVC 是 Spring 提供的一個(gè)基于 MVC 設(shè)計(jì)模式的輕量級(jí) Web 開(kāi)發(fā)框架,本質(zhì)上相當(dāng)于 Servlet,Spring MVC 角色劃分清晰,分工明細(xì),這篇文章主要介紹了SpringMVC實(shí)現(xiàn)獲取請(qǐng)求參數(shù)方法
    2022-09-09
  • 詳解SpringBoot中@SessionAttributes的使用

    詳解SpringBoot中@SessionAttributes的使用

    這篇文章主要通過(guò)示例為大家詳細(xì)介紹了SpringBoot中@SessionAttributes的使用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-07-07
  • SpringBoot application.yml和bootstrap.yml的區(qū)別

    SpringBoot application.yml和bootstrap.yml的區(qū)別

    本文主要介紹了SpringBoot application.yml和bootstrap.yml的區(qū)別,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • SpringBoot內(nèi)置數(shù)據(jù)源的持久化與解決方案

    SpringBoot內(nèi)置數(shù)據(jù)源的持久化與解決方案

    數(shù)據(jù)源的配置 我們先基于SpringBoot默認(rèn)的HikariDataSource數(shù)據(jù)源,導(dǎo)入JDBC場(chǎng)景,看看SpringBoot幫我們自動(dòng)配置了什么,下面我們來(lái)了解SpringBoot內(nèi)置數(shù)據(jù)源持久化
    2022-07-07
  • 關(guān)于idea的gitignore文件編寫及解決ignore文件不生效問(wèn)題

    關(guān)于idea的gitignore文件編寫及解決ignore文件不生效問(wèn)題

    這篇文章主要介紹了idea的gitignore文件編寫及解決ignore文件不生效問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • RocketMQ消息過(guò)濾與查詢的實(shí)現(xiàn)

    RocketMQ消息過(guò)濾與查詢的實(shí)現(xiàn)

    這篇文章主要介紹了RocketMQ消息過(guò)濾與查詢的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • @Autowired自動(dòng)裝配,@Bean注入@Primary,@Qualifier優(yōu)先級(jí)講解

    @Autowired自動(dòng)裝配,@Bean注入@Primary,@Qualifier優(yōu)先級(jí)講解

    這篇文章主要介紹了@Autowired自動(dòng)裝配,@Bean注入@Primary,@Qualifier優(yōu)先級(jí),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • Java基礎(chǔ)--反射機(jī)制

    Java基礎(chǔ)--反射機(jī)制

    本文主要介紹了Java反射機(jī)制的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-03-03
  • Java異常處理的五個(gè)關(guān)鍵字

    Java異常處理的五個(gè)關(guān)鍵字

    本篇文章給大家詳細(xì)講述了關(guān)于Java異常處理的相關(guān)知識(shí)點(diǎn),并列舉了5個(gè)重要關(guān)鍵字,一起啊參考學(xué)下。
    2018-03-03

最新評(píng)論

龙里县| 内江市| 巴林左旗| 南木林县| 刚察县| 马龙县| 长武县| 肥西县| 商丘市| 永平县| 廊坊市| 镶黄旗| 马龙县| 阳信县| 栾城县| 凌云县| 新建县| 绥中县| 永年县| 凌源市| 广水市| 沅江市| 晋江市| 周至县| 永清县| 廉江市| 桂东县| 博白县| 灵武市| 长白| 奉节县| 昌图县| 肇庆市| 武平县| 佳木斯市| 商城县| 温州市| 长乐市| 镇雄县| 盐城市| 石城县|