




下載本文檔
版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年車輛抵押貸款信保業(yè)務(wù)借款協(xié)議
- 三年級(jí)下冊(cè)數(shù)學(xué)教案-第五單元長(zhǎng)方形的面積∣北師大版
- 2025年工作室網(wǎng)站合同
- 行業(yè)培訓(xùn)外包合同(2篇)
- (高清版)DB45∕T 227-2022 地理標(biāo)志產(chǎn)品 廣西肉桂
- 2011年全國(guó)各地高考生物試題分章匯編
- 任務(wù)二 高效地下載信息 教學(xué)設(shè)計(jì) -2023-2024學(xué)年桂科版初中信息技術(shù)七年級(jí)上冊(cè)
- 第十一課 智能家居教學(xué)設(shè)計(jì) -2023-2024學(xué)年青島版(2019)初中信息技術(shù)第四冊(cè)
- 第八單元(A卷基礎(chǔ)篇)三年級(jí)語(yǔ)文下冊(cè)單元分層訓(xùn)練AB卷(部編版)
- 第六單元-平移、旋轉(zhuǎn)和軸對(duì)稱(單元測(cè)試)-蘇教版數(shù)學(xué)三年級(jí)上冊(cè)(含解析)
- CentOS 7系統(tǒng)配置與管理(Linux 試題庫(kù)) 習(xí)題答案 (楊海艷 第2版)
- 中國(guó)氫內(nèi)燃機(jī)行業(yè)發(fā)展環(huán)境、市場(chǎng)運(yùn)行格局及前景研究報(bào)告-智研咨詢(2024版)
- 2025年春新人教版歷史七年級(jí)下冊(cè)課件 第16課-明朝的對(duì)外關(guān)系
- 開(kāi)學(xué)季初三沖刺中考開(kāi)學(xué)第一課為夢(mèng)想加油課件
- 2025年四川綿陽(yáng)科技城新區(qū)投資控股集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025年碳化硅(SiC)市場(chǎng)分析現(xiàn)狀
- 2025年人教版英語(yǔ)五年級(jí)下冊(cè)教學(xué)進(jìn)度安排表
- 同等學(xué)力英語(yǔ)申碩考試詞匯(第六版大綱)電子版
- 部編四下語(yǔ)文《口語(yǔ)交際:轉(zhuǎn)述》公開(kāi)課教案教學(xué)設(shè)計(jì)【一等獎(jiǎng)】
- 2023靜脈治療護(hù)理技術(shù)操作標(biāo)準(zhǔn)解讀
- 唐納森焊煙除塵器(共22頁(yè))
評(píng)論
0/150
提交評(píng)論