版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、練習(xí) 55聲音播放器(應(yīng)用程序中)本例知識(shí)點(diǎn)一句話講解新學(xué)使用 FileInputStream 類讀取文件內(nèi)容知識(shí)使用 AudioPlayer 類播放聲音已學(xué)使用 File 類選取文件知識(shí)使用 Button 類生成按鈕一、練習(xí)具體要求本練習(xí)制作應(yīng)用程序中的聲音播放器,運(yùn)行效果如圖55-1 所示。執(zhí)行本例實(shí)例后,將創(chuàng)建一個(gè)帶有4 個(gè)按鈕的運(yùn)行界面。按下 Open 按鈕可以選擇要播放的聲音文件(*.au) ,按下Play 按鈕可以播放當(dāng)前的聲音文件,按下Loop 按鈕可以循環(huán)播放當(dāng)前聲音文件,按下按鈕可以停止播放當(dāng)前聲音文件。本實(shí)例的知識(shí)點(diǎn)有:FileDialog 類, FileInputStre
2、amStop類,AudioStream類和AudioData類的應(yīng)用。二、程序及注釋( 1)編程思路:本例因?yàn)橐x擇聲音文件,所以首先要打開(kāi)一個(gè)聲音文件,以此文件名作為 FileInputStream 構(gòu)造函數(shù)的參數(shù), 實(shí)例化一個(gè) FileInputStream 類的對(duì)象 fis 。然后,因?yàn)橐4媛曇魯?shù)據(jù), 所以首先要用 fis 作為數(shù) AudioStream 構(gòu)造函數(shù)的參數(shù); 然后實(shí)例化一個(gè) AudioStream 類對(duì)象 as, 聲音數(shù)據(jù)就存在 as 的 Data 域;再調(diào)用函數(shù) as.getData()把聲音數(shù)據(jù)保存在 AudioData 的對(duì)象 theData 里。最后, 因?yàn)椴シ怕?/p>
3、音文件, 所以首先要用對(duì)象實(shí)例化 AudioDataStream 對(duì)象 ads(如果需要一次播放聲音數(shù)據(jù)的話)或者用 theDataContinuousAudioDataStream對(duì)象 cads(如果需要循環(huán)播放的話),然后只要以ads 或 cads為參數(shù),調(diào)用函數(shù),就完成了播放聲音的全過(guò)程。(2) 程序?qū)崿F(xiàn)及注釋:/SoundPlayer.javapublic class SoundPlayer extends Frameimplements FilenameFilter,ActionListenerButton openButton = new Button("Open&quo
4、t;);Button playButton = new Button("Play");Button loopButton = new Button("Loop");Button stopButton = new Button("Stop");Label filename = new Label("");File theFile = null;AudioData theData = null;InputStream nowPlaying = null;public SoundPlayer()/ 設(shè)置標(biāo)題欄文字supe
5、r("SoundPlayer");/ 關(guān)閉窗口時(shí)退出程序addWindowListener(new WindowAdapter() public voidwindowClosing(WindowEvent e) System.exit(0););/ 設(shè)置窗口大小setSize(300,200);/ 設(shè)置窗口背景色setBackground(Color.orange);/ 設(shè)置窗口上方面板控件內(nèi)容Panel north = new Panel();north.setLayout(new FlowLayout(FlowLayout.LEFT);north.add(new Lab
6、el("File:");north.add("NORTH",filename);add("North",north);/ 設(shè)置窗口下方面板控件內(nèi)容Panel south = new Panel();south.add(openButton);south.add(playButton);south.add(loopButton);south.add(stopButton);add("South",south);/ 為按鈕添加事件監(jiān)聽(tīng)openButton.addActionListener(this);playButt
7、on.addActionListener(this);loopButton.addActionListener(this);stopButton.addActionListener(this);/ 主函數(shù),應(yīng)用程序入口處public static void main(String args)SoundPlayer sp = new SoundPlayer();sp.show();/ 打開(kāi)文件public void open()FileDialog fd = new FileDialog(this,"please select a file");fd.setFilenameF
8、ilter(this);fd.show();trytheFile = new File(fd.getDirectory()+"/"+fd.getFile();if(theFile != null)filename.setText(theFile.getName();FileInputStream fis = new FileInputStream(theFile);AudioStream as = new AudioStream(fis);theData = as.getData();catch(IOException e)catch(SecurityException e
9、)/ 開(kāi)始播放public void play()stop();if(theData = null) open();if(theData != null)AudioDataStream ads = new AudioDataStream(theData);nowPlaying = ads;/ 停止播放public void stop()if(nowPlaying != null)nowPlaying = null;/ 循環(huán)播放public void loop()stop();if(theData = null) open();if(theData != null)ContinuousAudio
10、DataStream cads= newContinuousAudioDataStream(theData);nowPlaying = cads;/ 事件響應(yīng)public void actionPerformed(ActionEvent e)if(e.getSource() = playButton)play();if(e.getSource() = openButton)open();if(e.getSource() = loopButton)loop();if(e.getSource() = stopButton)stop();public boolean accept(File dir,
11、String name)return true;三、練習(xí)效果(如圖55-1 所示)本實(shí)例代碼編寫完畢,存盤為:SoundPlayer.java。打開(kāi)計(jì)算機(jī)的命令提示符窗口,然后在命令提示符窗口中,定位到j(luò)avaprograms目錄,輸入javac SoundPlayer.java來(lái)編譯程序,用java SoundPlayer命令便可以看到制作效果。圖 55-1 練習(xí)效果四、總結(jié)提高通過(guò)制作聲音播放器的練習(xí), 運(yùn)用了件讀取技術(shù)。通過(guò)界面設(shè)計(jì)技術(shù),制作了播放器的用戶界面。Java2 中的界面設(shè)計(jì)技術(shù)和文通過(guò)文件讀取技術(shù), 可以打開(kāi)要播放的聲音文件以便進(jìn)行播放。出師表兩漢:諸葛亮先帝創(chuàng)業(yè)未半而中道崩
12、殂, 今天下三分, 益州疲弊, 此誠(chéng)危急存亡之秋也。然侍衛(wèi)之臣不懈于內(nèi),忠志之士忘身于外者,蓋追先帝之殊遇,欲報(bào)之于陛下也。誠(chéng)宜開(kāi)張圣聽(tīng),以光先帝遺德,恢弘志士之氣,不宜妄自菲薄,引喻失義,以塞忠諫之路也。宮中府中,俱為一體;陟罰臧否,不宜異同。若有作奸犯科及為忠善者,宜付有司論其刑賞,以昭陛下平明之理;不宜偏私,使內(nèi)外異法也。侍中、侍郎郭攸之、費(fèi)祎、董允等,此皆良實(shí),志慮忠純,是以先帝簡(jiǎn)拔以遺陛下:愚以為宮中之事,事無(wú)大小,悉以咨之,然后施行,必能裨補(bǔ)闕漏,有所廣益。將軍向?qū)?,性行淑均,曉暢軍事,試用于昔日,先帝稱之曰愚以為營(yíng)中之事,悉以咨之,必能使行陣和睦,優(yōu)劣得所?!澳?”,是以眾議舉寵為督:親賢臣, 遠(yuǎn)小人, 此先漢所以興隆也; 親小人, 遠(yuǎn)賢臣, 此后漢所以傾頹也。 先帝在時(shí),每與臣論此事, 未嘗不嘆息痛恨于桓、 靈也。 侍中、尚書、 長(zhǎng)史、 參軍,此悉貞良死節(jié)之臣,愿陛下親之、信之,則漢室之隆,可計(jì)日而待也。臣本布衣,躬耕于南陽(yáng),茍全性命于亂世,不求聞達(dá)于諸侯。先帝不以臣卑鄙,猥自枉屈,三顧臣于草廬之中,咨臣以當(dāng)世之事,由是感激,遂許先帝以驅(qū)馳。后值傾覆,受任于敗軍之際,奉命于危難之間,爾來(lái)二十有一年矣。先帝知臣謹(jǐn)慎,故臨崩寄臣以大事也。受命以來(lái),夙夜憂嘆,恐托付不
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能辦公設(shè)備采購(gòu)及維護(hù)合同
- 智能交通解決方案服務(wù)合同
- 2024年滬教版選擇性必修3語(yǔ)文下冊(cè)階段測(cè)試試卷
- 2025年浙教版高三語(yǔ)文下冊(cè)月考試卷
- 2024年華東師大版一年級(jí)語(yǔ)文下冊(cè)階段測(cè)試試卷
- 2024年新科版八年級(jí)科學(xué)下冊(cè)階段測(cè)試試卷
- 2025年浙教版高二英語(yǔ)下冊(cè)階段測(cè)試試卷
- 兒童及嬰幼兒服裝產(chǎn)品質(zhì)量省級(jí)監(jiān)督抽查實(shí)施細(xì)則
- 水庫(kù)排險(xiǎn)措施方案
- 安吉縣塑料跑道施工方案
- 互聯(lián)網(wǎng)+創(chuàng)新商業(yè)模式考核試卷
- 福建省福州市2023-2024學(xué)年高一1月期末生物試題(解析版)
- 四川省南充市2023-2024學(xué)年高一上學(xué)期期末考試 政治 含解析
- 江蘇省揚(yáng)州市梅嶺中學(xué)2023-2024學(xué)年七年級(jí)上學(xué)期期末地理試題(含答案)
- 克羅恩病病例分析
- 《冠心病》課件(完整版)
- DB43T 1694-2019 集體建設(shè)用地定級(jí)與基準(zhǔn)地價(jià)評(píng)估技術(shù)規(guī)范
- 高級(jí)技師電工培訓(xùn)
- 工程款代扣代付款協(xié)議書(2篇)
- 2024年湖北省高考化學(xué)試卷真題(含答案解析)
- 物理八年級(jí)上冊(cè)凸透鏡成像的規(guī)律(課件)
評(píng)論
0/150
提交評(píng)論