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

Java實現(xiàn)的簡單音樂播放器功能示例

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

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

應(yīng)用名稱:Java簡單的音樂播放器

用到的知識:Java GUI編程,線程,IO

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

功能說明:可以選擇內(nèi)置的音樂文件播放,循環(huán)播放,停止。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("循環(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é)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總

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

相關(guān)文章

  • Java中的ConcurrentLinkedQueue松散隊列解析

    Java中的ConcurrentLinkedQueue松散隊列解析

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

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

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

    詳解SpringBoot中@SessionAttributes的使用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

临沂市| 临泽县| 中山市| 洛隆县| 奉化市| 苍南县| 新营市| 文昌市| 娄底市| 安福县| 临漳县| 合水县| 和平县| 四平市| 永善县| 三明市| 兴海县| 绍兴市| 宝应县| 隆子县| 密云县| 上杭县| 全州县| 墨玉县| 甘南县| 五指山市| 读书| 东丽区| 迭部县| 宁远县| 武义县| 达孜县| 盖州市| 德昌县| 西平县| 甘孜| 茌平县| 汽车| 吉安市| 蚌埠市| 会同县|