




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1 1 2 3 13 16 17了進(jìn)一步鞏固課堂上所學(xué)到的知識(shí),深刻把握J(rèn)ava技術(shù)的重要概念及其JMF提供了一個(gè)平臺(tái)無(wú)關(guān)的框架來(lái)呈現(xiàn)時(shí)基媒體(time-basedmedia)JavaMediaPlayerAPI的設(shè)計(jì)目標(biāo)是支持多種標(biāo)準(zhǔn)的媒體格式,包括MPEG-1,MPEG-2,QuickTime,AVI,WAV,AU和MIDI.使用JMF,可以同步呈現(xiàn)不同來(lái)定義事件模型,用于Player和應(yīng)用程序間的異步通信有時(shí),JMF的一些方法會(huì)返回非預(yù)期的結(jié)果,通過(guò)檢查返回直,我們可以檢測(cè)實(shí)際發(fā)生的事情:我們可以通過(guò)返回直檢查實(shí)際被設(shè)置的數(shù)值,例如:并不是所有的播放器都可以每周期5次的速率呈現(xiàn)媒體數(shù)據(jù),如果我們調(diào)了setRate(5.0),播放器將會(huì)設(shè)置一個(gè)合法的近似直,這個(gè)數(shù)值可能是5.0也可能是1.0,我們需要檢查返回?cái)?shù)據(jù)來(lái)確認(rèn)被設(shè)置的數(shù)據(jù)??赡懿恢烂襟w的時(shí)長(zhǎng),這時(shí)如果我們調(diào)了getDuration(),getDuration會(huì)返回DURATIONUNKNOWN.當(dāng)媒體被播放完一次,再調(diào)getDuration時(shí),則會(huì)返回正確的時(shí)長(zhǎng)。4.2程序設(shè)計(jì)圖器個(gè)打開(kāi)循環(huán)退出暫停設(shè)置播放文件上一個(gè)下一4.3設(shè)計(jì)及核心代碼創(chuàng)建“文件”菜單創(chuàng)建“打開(kāi)”菜單把JMFMediaPlayer對(duì)象注冊(cè)成功為“打開(kāi)”菜單項(xiàng)動(dòng)作事件的監(jiān)聽(tīng)器把“打開(kāi)”菜單項(xiàng)加入“文件”菜單把“文件”菜單中加入一條水平分隔線創(chuàng)建帶檢查框的“循環(huán)”菜單項(xiàng)把JMFMediaPlayer對(duì)象注冊(cè)成功為“循環(huán)”菜單項(xiàng)動(dòng)作事件的監(jiān)聽(tīng)器把“循環(huán)”菜單項(xiàng)加入“文件”菜單在“文件”菜單項(xiàng)中加入一條水平分隔線按照創(chuàng)建“打開(kāi)”菜單項(xiàng)的過(guò)程,創(chuàng)建“退出”菜單項(xiàng)創(chuàng)建“播放”菜單創(chuàng)建“上一個(gè)”菜單創(chuàng)建“下一個(gè)”菜單項(xiàng)創(chuàng)建“保存”菜單把JMFMediaPlayer對(duì)象注冊(cè)成功為“暫停”菜單項(xiàng)動(dòng)作事件的監(jiān)聽(tīng)器把“暫?!辈藛雾?xiàng)加入“設(shè)置”菜單在“設(shè)置”菜單中加入一條水平分隔線創(chuàng)建“刪除”菜單項(xiàng)把JMFMediaPlayer對(duì)象注冊(cè)成功為“刪除”菜單項(xiàng)動(dòng)作事件的監(jiān)聽(tīng)器創(chuàng)建一個(gè)菜單條(MenuBar)把“文件”菜單加入到菜單條把“播放控制”菜單加入到菜單條把“播放列表”菜單加入到菜單條//創(chuàng)建播放器的菜單JMenufileMenu=newJMeopenMemuItemaddActioUIManager.setLookAndFeelUIManagergetSystemLookAndFeelClassName}}動(dòng)作監(jiān)聽(tīng)器根據(jù)用戶的操作作出相應(yīng)的反應(yīng)(1)如果動(dòng)作事件起源于“退出”菜單項(xiàng),觸發(fā)一個(gè)給查監(jiān)聽(tīng)器的窗口關(guān)閉事件(2)如果動(dòng)作事件起源于“播放“菜單項(xiàng),判斷當(dāng)前是否存在一個(gè)播放器,存在則將該播放器置于運(yùn)動(dòng)狀態(tài)(3)如果動(dòng)作事件起源于“暫?!辈藛雾?xiàng),判斷當(dāng)前是否存在一個(gè)播放器,存在則停止該播放器的播放(4)如果動(dòng)作事件起源于“下一個(gè)”菜單項(xiàng),判斷當(dāng)前是否存在一個(gè)播放器,存在則停止該播放器的播放,并把播放指針移到下一個(gè)文件(5)如果動(dòng)作事件起源于“打開(kāi)”菜單,則:創(chuàng)建一個(gè)“打開(kāi)媒體文件“對(duì)話框把對(duì)話框的當(dāng)前目錄設(shè)置為上次關(guān)閉時(shí)的目錄顯示對(duì)話框。這個(gè)對(duì)話框是一個(gè)模式對(duì)話框如果用戶沒(méi)有通過(guò)對(duì)話框選擇媒體文件,則返回(6)如果出現(xiàn)異常顯示錯(cuò)誤信息,然后返回把主窗口的標(biāo)題設(shè)置為媒體文件的名字把JMFMediaPlayer對(duì)象注冊(cè)為來(lái)自JMF播放器對(duì)象的控制器事件的監(jiān)讓JMF播放器對(duì)象預(yù)先提取媒體內(nèi)容/***實(shí)現(xiàn)了ActionListenr口,處理組件的活動(dòng)事件*/publicvoidactionPerformed(ActionEvente){if(e.getActionCommand().equa退ls出(")){//調(diào)用dispose以便執(zhí)行windowCloseddispose();return;}FileDialogfileDialog=newFileDialog(tFileDialog.LOAD);fileDialog.setDirectory(currentDirectory);fileDialog.setVisible(true);//如果用戶放棄選擇文件,則返回if(fileDialog.getFile()==null){}}playerManagercreatePlayeSystem.out.println("不能找到}System.out.println("無(wú)法創(chuàng)建}playeraddControllerListen}控制監(jiān)聽(tīng)器控制監(jiān)聽(tīng)器完成與控制相關(guān)的操作,具體包括以下幾種情況JMFMediaPlayer容器拆除視覺(jué)部件。如果JMF播放器的控制面板部件存在,從從JMFMediaPlayer容器拆除控制面板部件(2)當(dāng)媒體回放結(jié)束,復(fù)位JMF播放器對(duì)象的開(kāi)始時(shí)間。(3)當(dāng)預(yù)提取媒體內(nèi)容結(jié)束,JMF播放器對(duì)象開(kāi)始播放媒體(4)當(dāng)實(shí)例化(realize)完成,則獲取JMF播放器對(duì)象的視覺(jué)部件,如果視覺(jué)部件存在,則把它加入到JMFMediaPlayer容器的中間獲取JMF播放器對(duì)象的控制面板部件,如果控制面板部件存在,則把它加入到JMFMediaPlayer容器的下方獲取JMF播放器對(duì)象的擴(kuò)展控制面板部件,如果擴(kuò)展控制面板部件存在,則把它加入到JMFMediaPlayer容器的上方如果播放中含有圖形,執(zhí)行pack()操作*實(shí)現(xiàn)ControllerListen接er口的方法,處理播放器的控制事件*/publicvoidcontrollerUpdate(ControllerEvente){//調(diào)用player.close時(shí)()ControllerClosedEvn件t出現(xiàn)。//如果存在視覺(jué)部件,則該部件應(yīng)該拆除(為一致起見(jiàn),//我們對(duì)控制面板部件也執(zhí)行同樣的操作)if(einstanceofControllerClosedEvent){if(vedioComponent!=null){this.getContentPane().remove(vedioComponent);this.vedioComponent=null;}if(controlComponent!=null){this.getContentPane().remove(controlComponent);}}}}}}}}}其他監(jiān)聽(tīng)器1.菜單項(xiàng)監(jiān)聽(tīng)器菜單項(xiàng)監(jiān)聽(tīng)器主要針對(duì)“循環(huán)”菜單項(xiàng)的單擊動(dòng)作進(jìn)行反應(yīng)當(dāng)菜單項(xiàng)狀態(tài)改變時(shí),切換“循環(huán)”菜單被選中的狀態(tài)2.窗口監(jiān)聽(tīng)器值得注意的是窗口監(jiān)聽(tīng)器是在構(gòu)造函數(shù)中進(jìn)行定義和注冊(cè)的,這一點(diǎn)不同于以上介紹的其他方法,它只是在退出窗口時(shí)執(zhí)行。定窗口大小,并顯示控制器//處理“循環(huán)”復(fù)選框菜單項(xiàng)的點(diǎn)擊事件}}}}我們首先來(lái)播放一個(gè)視頻,以《鐵拳:血之復(fù)仇》為例,視頻格式為AVI格式,以下為視頻截圖下面來(lái)測(cè)試一下播放音頻文件,以《本兮:情花》為例,此音樂(lè)文件的格式為WAV本兮-情花本兮-情花way文件設(shè)孟番放上一個(gè)下一個(gè)叫目X 第6章課程設(shè)計(jì)心得體會(huì)這次課程設(shè)計(jì)我做的是帶面板的視頻播放器的制作,主要是服務(wù)于學(xué)生進(jìn)這個(gè)播放器主要是我和隊(duì)友一起開(kāi)發(fā)的,但也得到了老師和同學(xué)的很大幫助。我在做播放器的過(guò)程中遇到了很多問(wèn)題,有的是知識(shí)存儲(chǔ)不足,有的是考慮不夠周全,之所以能夠順利實(shí)現(xiàn)基本功能,離不開(kāi)老師和同學(xué)的大力相助。事實(shí)證明,只靠自己是不能順利設(shè)計(jì)完成一個(gè)功能完整的播放器的,必須充分利用團(tuán)隊(duì)的力量。實(shí)驗(yàn)過(guò)程中,首先要將系統(tǒng)要實(shí)現(xiàn)的功能分為幾大模塊,然后每個(gè)組員分別完成,在此過(guò)程中使我加深了對(duì)Java的理解,以及如何進(jìn)行團(tuán)隊(duì)工作的劃分,學(xué)會(huì)發(fā)現(xiàn)各組員的長(zhǎng)處并將其發(fā)揮出來(lái)。雖然大家沒(méi)怎么學(xué)過(guò)Java,但大家都有C語(yǔ)言基礎(chǔ),所以通過(guò)努力實(shí)驗(yàn),進(jìn)一步培養(yǎng)我們利用Java語(yǔ)言進(jìn)行編程和調(diào)試程序的能力,同時(shí)使我們能夠?qū)W會(huì)將C語(yǔ)言與Java語(yǔ)言結(jié)合起來(lái)編寫較復(fù)雜具有實(shí)際意義和算法復(fù)雜度較小的程序。與此同時(shí)熟練掌握J(rèn)ava語(yǔ)言的編輯,編譯,調(diào)試程序,并將算法轉(zhuǎn)變?yōu)槌绦驅(qū)崿F(xiàn)。開(kāi)發(fā)設(shè)計(jì)一個(gè)播放器,最重要的是細(xì)心,并不是一定要做到面面俱到,但也要充分考慮到播放器的功能和用途,不管做什么設(shè)計(jì),只用運(yùn)用到實(shí)際應(yīng)用中,才具有先現(xiàn)實(shí)意義。所以在準(zhǔn)備工作中要正確分析社會(huì)需求了解現(xiàn)實(shí)應(yīng)用,
溫馨提示
- 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至2030年中國(guó)多功能汽車電噴嘴電腦檢測(cè)儀數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)五星水壺?cái)?shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 統(tǒng)編版三年級(jí)語(yǔ)文下冊(cè)期中達(dá)標(biāo)測(cè)試卷(含答案)
- 吉林省長(zhǎng)春市榆樹(shù)市2024-2025學(xué)年九年級(jí)上學(xué)期期末化學(xué)試題(含答案)
- 園林施工員試題及答案
- 2025年消防設(shè)施操作員之消防設(shè)備中級(jí)技能每日一練試卷A卷含答案
- 2025年消防設(shè)施操作員之消防設(shè)備基礎(chǔ)知識(shí)通關(guān)提分題庫(kù)(考點(diǎn)梳理)
- 2020年遼寧省沈陽(yáng)市中考地理試卷(含答案)
- 2025年天津市專業(yè)技術(shù)人員公需考試試題-全面推動(dòng)經(jīng)濟(jì)與民生領(lǐng)域改革推動(dòng)中國(guó)經(jīng)濟(jì)高質(zhì)量發(fā)展
- 高等教育自學(xué)考試《00074中央銀行概論》模擬試卷二
- 《形體訓(xùn)練》課件-勾繃腳訓(xùn)練
- 醫(yī)療器械(耗材)項(xiàng)目投標(biāo)服務(wù)實(shí)施投標(biāo)方案(技術(shù)方案)
- 現(xiàn)代企業(yè)車間管理全套教學(xué)課件
- 焊接基礎(chǔ)知識(shí):焊接的缺陷及檢驗(yàn)方法
- 加油站節(jié)前安全教育培訓(xùn)
- 信訪調(diào)解協(xié)議書(shū)模板
- 生產(chǎn)工藝的標(biāo)準(zhǔn)化流程與規(guī)范化管理
- 鐵路轉(zhuǎn)轍機(jī) ZDJ9型電動(dòng)轉(zhuǎn)轍機(jī)認(rèn)知
- 【我國(guó)新能源汽車產(chǎn)業(yè)發(fā)展分析文獻(xiàn)綜述5800字】
- 《輔助工法》課件
- 國(guó)家二級(jí)公立醫(yī)院績(jī)效考核醫(yī)療質(zhì)量相關(guān)指標(biāo)解讀
評(píng)論
0/150
提交評(píng)論