基于java的音樂(lè)播放器的設(shè)計(jì)源代碼+實(shí)驗(yàn)報(bào)告_第1頁(yè)
基于java的音樂(lè)播放器的設(shè)計(jì)源代碼+實(shí)驗(yàn)報(bào)告_第2頁(yè)
基于java的音樂(lè)播放器的設(shè)計(jì)源代碼+實(shí)驗(yàn)報(bào)告_第3頁(yè)
基于java的音樂(lè)播放器的設(shè)計(jì)源代碼+實(shí)驗(yàn)報(bào)告_第4頁(yè)
基于java的音樂(lè)播放器的設(shè)計(jì)源代碼+實(shí)驗(yàn)報(bào)告_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、主 類 M U S I C P L A Y E R 類import .*;public class MusicPlayer implements ActionListener, Serializable,ControllerListener private static final long serialVersionUID = 1L;private JFrame frame = null;private JPanel controlPanel = null;private JButton btnPlay = null;private JButton btnPre = null;private

2、 JButton btnNext = null;private JScrollPane listPane = null;private JList list = null;private DefaultListModel listModel = null;private JMenuBar menubar = null;private JMenu menuFile = null, menuAbout = null, menuMode = null;private JMenuItem itemOpen, itemOpens, itemExit, itemAbout;private JRadioBu

3、ttonMenuItem itemSingle, itemSequence ,itemRandom; private ListItem currentItem = null;private static Player player = null;private boolean isPause = false;private int mode;private int currentIndex;private ImageIcon iconPlay = new ImageIcon("d:");private ImageIcon iconPre = new ImageIcon(&q

4、uot;d:");private ImageIcon iconNext = new ImageIcon("d:");private ImageIcon iconPause = new ImageIcon("d:");public static void main(String args)new MusicPlayer();public MusicPlayer()init();public void init()frame = new JFrame();("音樂(lè)播放器 ");(400, 300);(false);(null);

5、menubar = new JMenuBar(); men uFile = new JMe nu('文件"); menu About = new JMe nu("關(guān)于"); menuMode = new JMenu('播放模式"); itemOpen = new JMenultemC添加文件"); itemOpens = new JMenultem('添加文件夾"); itemExit = new JMe nultem("退出"); itemAbout = new JMe nultem(&q

6、uot;關(guān)于");(this);(this);(this);(this);itemSequenee = new JRadioButtonMenultem(順序播放"); (true);itemSingle = new JRadioButtonMenultem("單曲循環(huán)"); (this);itemRandom = new JRadioButtonMenultemC隨機(jī)播放");(this);(this);ButtonGroup bg = new ButtonGroup();(itemRandom);(itemSequenee);(itemSi

7、ngle);(itemOpen);(itemOpens);(itemExit);(itemAbout);(itemSequenee);(itemSingle);(itemRandom);(menuFile);(menuAbout); (menuMode);(menubar);(new BorderLayout();eontrolPanel = new JPanel();(new FlowLayout();btnPlay = new JButton(ieonPlay);btnPre = new JButton(ieonPre); btnNext = new JButton(ieonNext);(

8、this);(this);(this);(btnPre);(btnPlay);(btnNext);listPane = new JScrollPane(); listModel = load(); list = new JList(listModel); if () = -1 && () > 0) currentItem = (ListItem) (0);(0);currentIndex=0;().add(list);(new MouseAdapter()public void mouseClicked(MouseEvent e) if () = 2)if(player!

9、=null)();(iconPlay); currentIndex = (); currentItem = (ListItem) (currentIndex); (currentIndex);play(););(new BorderLayout();(controlPanel, ;(listPane, ;(true);public void actionPerformed(ActionEvent e)if () = itemOpen)oLowerCase().endsWith(".mp3")| ().toLowerCase().endsWith(".wav&quo

10、t;) return true;return false;);for (File file : files)ListItem item = new ListItem(), ();(item); save(listModel);else if () = itemExit)(0);else if () = itemAbout)(frame,"作者:陸鑫");else if () = btnPI ay)My解釋器(In ter preter)/編譯器(Compiler)<JMyk_P/MyPr ogramZu,.mid,.wav等。對(duì)于其他格式的文件,可以用相應(yīng)地工具軟件將

11、它們轉(zhuǎn)換為.au 或.mid等Java支持的文件。在Applet中播放聲音文件有兩種方法:(1)在Java的API中,Applet類提供了一個(gè)方法play(),它可以直接根據(jù)URL 地址來(lái)播放聲音。這個(gè)方法指定如下:Public void p lay(URL url)P ublic void p lay(URL url,stri ng soun dFile)在第一種方法的定義中,參數(shù)url是保存聲音文件的絕對(duì)URL地址,即統(tǒng)一 資源定位,它指定Web網(wǎng)上的一個(gè)聲音文件;在第二種方法定義中,參數(shù)URL是保 存聲音文件的基地址,而參數(shù)soundFile是聲音文件的文件名。如果聲音文件與Applet

12、的HTM文件在相同的目錄下,則可以通過(guò)使用getCodeBaseO方法來(lái)獲得 該聲音文件的基地址。如果 Applet本身的URL地址為“則語(yǔ)句:Play (gatCodeBase(), “”); 等同于語(yǔ)句:Play( “在程序編寫(xiě)過(guò)程中 , 若使用第一種方法定義 , 則將程序由一個(gè)服務(wù)器轉(zhuǎn)移到另一服務(wù)器上或從一個(gè)目錄轉(zhuǎn)移到另一個(gè)目錄下時(shí) ,必須改變?cè)创a中的URL地 址:若使用第二種方法定義,即使用getCodeBaseO方法來(lái)定位資源文件,則將程 序由一個(gè)服務(wù)器轉(zhuǎn)移到另一個(gè)服務(wù)器或從一個(gè)目錄轉(zhuǎn)移到另一個(gè)目錄下時(shí) , 不必 改變?cè)创a中的URL地址,而只需將聲音文件與播放他的Java文件放在

13、同一目錄 下即可。Play() 方法只能進(jìn)行簡(jiǎn)單的播放 ,只能一次敬愛(ài)那個(gè)聲音文件播放完 ,沒(méi)有停 止和連續(xù)播放的功能 , 所以, 一般編寫(xiě)播放聲音的程序時(shí)不采用此方法。(2)利用 Java 中的 AudioClip 類對(duì)象播放聲音文件。 AudioClip 類提供了兩種 獲取聲音數(shù)據(jù)的方法 , 定義如下:AudioClip getAudioClip(URL url)AudioClip getAudioClip(URL url,String soundFile)它們的參數(shù)含義與以上相同。使用時(shí)可按如下步驟。)聲明一個(gè)AudioClip類的對(duì)象,如:AudioClip audio);)使用get

14、AudioCIip()方法為AudioCIip類的對(duì)象獲得句柄,如:aud=getAudioClip(getCodeBase(),或一次完成 , 如:AudioClip aud=getAudioClip(getCodeBase(),或:AudioClip aud=getAudioClip( “ HTTP.23.2.3 ava 程序設(shè)計(jì) M. 北京: 機(jī)械工 業(yè)出版社 ,2005,10 : 309-312.2 朱喜福,趙敏,夏齊霄,等.java程序設(shè)計(jì)M.北京:人民郵電岀版社,2005,2:272-290.3 Liang著,馬海軍,景麗等 譯.java編程原理與實(shí)踐M.北京:清華大學(xué)岀版社2005,8:367-643.4 徐明浩 著,武轉(zhuǎn)海,譯.java編程基礎(chǔ)應(yīng)用與實(shí)例M.北京:人民郵電岀版 社,2005,10:342-347.6 王祖析 . 基于 java 技術(shù)的網(wǎng)絡(luò)教學(xué)互動(dòng)系統(tǒng)的構(gòu)建 J. 學(xué)術(shù)探討 ,2009:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論