版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java程序設(shè)計(jì) 題目:媒體播放器姓名:學(xué)號(hào):2014年5月10日 目 錄實(shí)驗(yàn)報(bào)告一、實(shí)驗(yàn)?zāi)康亩?shí)驗(yàn)原理三、實(shí)驗(yàn)環(huán)境四、功能需求五、實(shí)驗(yàn)總結(jié)系統(tǒng)方案書一、引言 1、編寫目的2、參考資料二、 系統(tǒng)的結(jié)構(gòu)(程序流程圖)三、模塊設(shè)計(jì)說(shuō)明 1、模塊描述2、總體功能 3、關(guān)于幫助媒體播放器使用說(shuō)明書一、使用方法: 1、打開(kāi)媒體播放器2、打開(kāi)文件3、播放,暫停,停止,快進(jìn),快退4、退出程序5、幫助(關(guān)于)二、分析摘要 1、能力2、缺陷和限制技術(shù)報(bào)告一、實(shí)現(xiàn)的類二、部分功能的實(shí)現(xiàn) 三、具體代碼實(shí)驗(yàn)報(bào)告一、實(shí)驗(yàn)?zāi)康耐ㄟ^(guò)了解和運(yùn)用Java編程工具編寫制作視頻媒體播放器,提高Swing和jmf技術(shù)結(jié)合的綜合運(yùn)用
2、能力。二、實(shí)驗(yàn)原理本實(shí)驗(yàn)要求在理解Java文件操作原理基礎(chǔ)和GUI編寫的基礎(chǔ)上,實(shí)現(xiàn)視頻文件的打開(kāi)、播放、暫停、后退和前進(jìn)等功能,實(shí)現(xiàn)媒體播放器基本功能。三、實(shí)驗(yàn)環(huán)境軟件環(huán)境Windows操作系統(tǒng)J2SDK1.6Eclipse等硬件環(huán)境計(jì)算機(jī)四、功能需求實(shí)現(xiàn)媒體播放器的功能如下:(1)可以打開(kāi)視頻文件夾;(2)雙擊文件或者選中后打開(kāi)可播放該視頻。(3)播放時(shí)可以開(kāi)始、暫停、停止、快進(jìn)、快退進(jìn)行控制;(4)可以退出和關(guān)閉播放器。五、實(shí)驗(yàn)總結(jié) 通過(guò)這次自主實(shí)驗(yàn),讓我了解到了編寫一個(gè)Java應(yīng)用程序的過(guò)程:一開(kāi)始我先分析這個(gè)“ 媒體播放器”要實(shí)現(xiàn)的功能,并歸納出來(lái),然后我開(kāi)始確定相關(guān)的Java和JM
3、F的知識(shí)點(diǎn),尋找相關(guān)的參考書和上網(wǎng)搜索知識(shí)點(diǎn)。我分析出的知識(shí)包括:swing和JMF及相關(guān)組件的使用,根據(jù)這些做出程序的界面、播放器組件的設(shè)置和使用文件的處理。幾個(gè)星期的學(xué)習(xí)使我們提高自己的編程能力。系統(tǒng)方案書一、引言1、編寫目的為了能夠使在編寫媒體播放器的過(guò)程能夠高效的進(jìn)行,少走彎路。2、參考資料Java程序設(shè)計(jì)教程 機(jī)械工業(yè)出版社Java多媒體技術(shù) 清華大學(xué)出版社二、 系統(tǒng)的結(jié)構(gòu)(程序流程圖)啟動(dòng)程序點(diǎn)擊打開(kāi)文件點(diǎn)擊退出程序彈出打開(kāi)文件對(duì)話框退出程序打開(kāi)文件(單項(xiàng))開(kāi)始、暫停、停止、前進(jìn)、后退三、模塊設(shè)計(jì)說(shuō)明隨著社會(huì)文明的發(fā)展,人們不再僅僅滿足于物質(zhì)享受,更加追求精神上的享受。音樂(lè)作為藝術(shù)
4、的一種形式,成為人們?nèi)粘I钪械囊环N娛樂(lè)方式,于是媒體播放器很好地實(shí)現(xiàn)了音樂(lè)的打開(kāi)、播放、暫停、停止、快進(jìn)、快退等功能,方便人們選擇性地欣賞。1、 模塊描述文件(打開(kāi),退出)控制(播放、暫停、停止)幫助(關(guān)于)2、總體功能(1)可以打開(kāi)視頻文件夾;(2)雙擊文件或者選中后打開(kāi)可播放該視頻。(3)播放時(shí)可以開(kāi)始、暫停、停止、快進(jìn)、快退進(jìn)行控制;(4)可以關(guān)閉播放器。3、關(guān)于幫助提供媒體播放器的制作者信息。媒體播放器使用說(shuō)明書一、使用方法:1、打開(kāi)媒體播放器2、打開(kāi)文件3、播放,暫停,停止、快進(jìn),快退4、退出程序5、幫助(關(guān)于)二、分析摘要1、功能實(shí)現(xiàn)了基本的可載入mov視頻文件,可對(duì)視頻文件進(jìn)行
5、打開(kāi)、退出、播放、暫停、停止、快進(jìn)、快退等功能。2、缺陷和限制提供的功能過(guò)少,代碼不友好,不易維護(hù)。 技術(shù)報(bào)告一、實(shí)現(xiàn)的類JMedia實(shí)現(xiàn)媒體播放器二、部分功能的實(shí)現(xiàn)一個(gè)容器,一個(gè)面板,三個(gè)主菜單(文件,控制,幫助)文件菜單下兩個(gè)菜單項(xiàng)(打開(kāi),退出)控制菜單下三個(gè)菜單項(xiàng)(播放,暫停、停止)幫助菜單下一個(gè)菜單項(xiàng)(關(guān)于)控制組件(播放,快退,快進(jìn))方法及實(shí)現(xiàn)JMedia構(gòu)造函數(shù) : 初始化窗口,添加事件監(jiān)聽(tīng)器 插入視頻控件 操作響應(yīng):調(diào)用后面的方法具體見(jiàn)源代下面是源碼/* * To change this template, choose Tools | Templates * and open
6、the template in the editor. */package src;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.media.*;import .*;import java.io.*;/* * * author Administrator */public class JMedia extends JFrame implements ActionListener, ControllerListener private JMenuBar jbar; /菜單條 private
7、JMenu file, /文件 controll, /控制 help; /幫助 private JMenuItem openitem, / 打開(kāi)菜單項(xiàng) exititem, /退出 about, /關(guān)于軟件 startitem, stopitem, enditem; private JLabel statebar = new JLabel(); /狀態(tài)欄 Player player; private Component visualComponent; /視頻播放組件 private Component controlComponent; /視頻播放控制組件 private String str
8、dir; private FileDialog digopen; private Container c; /容器 private FileDialog fd; private JPanel panel, panelSouth; private String files = ; public JMedia() /構(gòu)造函數(shù) this.setSize(400, 300); this.setTitle(視頻播放器); c = getContentPane(); c.setLayout(new BorderLayout(); /設(shè)置布局 jbar = new JMenuBar(); setJMenuB
9、ar(jbar); /設(shè)置菜單 file = new JMenu(文件); jbar.add(file); controll = new JMenu(控制); jbar.add(controll); help = new JMenu(幫助); jbar.add(help); openitem = new JMenuItem(打開(kāi)); exititem = new JMenuItem(退出); startitem = new JMenuItem(開(kāi)始); stopitem = new JMenuItem(暫停); enditem = new JMenuItem(停止); about = new
10、JMenuItem(關(guān)于); file.add(openitem); file.addSeparator(); /將分割符追加到菜單末尾,另起一行 file.add(exititem); controll.add(startitem); controll.addSeparator(); controll.add(stopitem); controll.addSeparator(); controll.add(enditem); help.add(about); /菜單設(shè)置完畢 openitem.addActionListener(this); /加監(jiān)聽(tīng) exititem.addActionLi
11、stener(this); startitem.addActionListener(this); stopitem.addActionListener(this); enditem.addActionListener(this); about.addActionListener(this); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /監(jiān)聽(tīng)完畢 panel = new JPanel(); panel.setLayout(new BorderLayout(); c.add(panel, BorderLayout.CENTER); stateb
12、ar.setText(沒(méi)有文件打開(kāi)); /解決awt、swing組件可能帶來(lái)的麻煩 Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, true); c.add(statebar, BorderLayout.SOUTH); this.setResizable(true);/設(shè)置是否能改變窗口大小 this.setVisible(true);/此句不可少,否則窗口會(huì)不顯示 Override public void controllerUpdate(ControllerEvent e) / TODO Auto-generated method stub if
13、 (e instanceof PrefetchCompleteEvent) /如果獲得數(shù)據(jù)完成 player.start(); /開(kāi)始播放 return; if (e instanceof RealizeCompleteEvent) visualComponent = player.getVisualComponent(); /獲得播放畫面組件 if (visualComponent != null) panel.add(visualComponent, BorderLayout.CENTER); controlComponent = player.getControlPanelCompone
14、nt(); /獲得播放控制組件 if (controlComponent != null) panel.add(controlComponent, BorderLayout.SOUTH); this.pack(); this.setResizable(false); this.setVisible(true); Override public void actionPerformed(ActionEvent e) / getSource表示最初發(fā)生event的對(duì)象 if (e.getSource() = openitem) /打開(kāi)方法 open(); if (e.getSource() = e
15、xititem) /退出程序 close(); if (e.getSource() = startitem) start(); /開(kāi)始播放 if (e.getSource() = stopitem) stop(); /暫停播放 if (e.getSource() = enditem) end(); /停止播放 if (e.getSource() = about) /關(guān)于 about(); public void open() /打開(kāi)函數(shù) try fd = new FileDialog(JMedia.this); /打開(kāi)文件窗口 fd.setTitle(打開(kāi)多媒體文件); /設(shè)置打開(kāi)對(duì)話窗口的標(biāo)
16、題 fd.setVisible(true); /窗口可見(jiàn) strdir = fd.getDirectory(); /獲得此文件對(duì)話框的目錄 if (strdir != null) if (player != null) /已經(jīng)打開(kāi) player.close(); /先關(guān)閉 if (visualComponent != null) panel.remove(visualComponent); /移除按鈕 if (controlComponent != null) panel.remove(controlComponent); /移除按鈕 visualComponent = null; contr
17、olComponent = null; files = strdir + fd.getFile(); player = Manager.createPlayer(new URL(file: + files); /創(chuàng)建媒體播放對(duì)象 statebar.setText(正在播放: + files.toString(); /在狀態(tài)欄顯示信息 player.addControllerListener(this); /添加ControllerListener player.prefetch(); /獲取媒體數(shù)據(jù) catch (Exception e1) e1.printStackTrace(); public void close() if (player != null) player.close(); this.dispose(); /釋放由此 Window、其子組件及其擁有的所有子組件所使用的所有本機(jī)屏幕資源 System.exit(0); public void start() player.start(); /開(kāi)始 public void stop() /暫停 player.stop()
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南省昆明市九縣區(qū)2023-2024學(xué)年六年級(jí)上學(xué)期英語(yǔ)期末試卷
- 文化行業(yè)安全生產(chǎn)培訓(xùn)方案
- 2023年吉林省遼源市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題1卷含答案
- 2023年浙江省衢州市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2022年山東省青島市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2024年遼寧省營(yíng)口市公開(kāi)招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 畢業(yè)學(xué)員發(fā)言稿
- 《MTP管理教材》課件
- 《行業(yè)高增長(zhǎng)確定》課件
- 暑假計(jì)算題綜合自檢卷練習(xí)題數(shù)學(xué)三年級(jí)下冊(cè)
- 視頻監(jiān)控室值班記錄表
- 歌曲《梁?!泛?jiǎn)譜完整版
- 四川2020版清單定額
- 教材編寫工作總結(jié)
- 企業(yè)員工上下班交通安全培訓(xùn)(簡(jiǎn)詳共2份)
- 城市高密度建成區(qū)合流制溢流污染系統(tǒng)研究-黃孝河機(jī)場(chǎng)河水環(huán)境綜合治理項(xiàng)目實(shí)踐
- word 公章 模板
- T∕ZSQX 008-2020 建設(shè)工程全過(guò)程質(zhì)量行為導(dǎo)則
- ISO-IEC17025-2017實(shí)驗(yàn)室管理體系全套程序文件
- 深圳智能水表項(xiàng)目商業(yè)計(jì)劃書_參考模板
- 地理信息系統(tǒng)原理全冊(cè)配套完整課件
評(píng)論
0/150
提交評(píng)論