freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于vc的多媒體播放器設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2024-10-02 15:02 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 提供的 API供發(fā)開人員使用,而系統(tǒng)內(nèi)部的實(shí)現(xiàn),你可以不需知曉,可以說(shuō) MFC 是微軟 API 在 C++中的封裝。其關(guān)鍵技術(shù)在消息映射和消息傳遞的消息處理機(jī)制,在 SDK 中沒有消息映射的概念,消息響應(yīng)傳遞回調(diào)函數(shù),然后判斷消息類型,再接著處理。其中 MFC 中重要的幾個(gè)類: 作為大多數(shù)“窗口”的父類,如 CButton(按鈕 )、 CFrameWnd(框架窗 5 口)、 CDialog(對(duì)話框 )等。 對(duì)話框類。 全名設(shè)備文本,與 GDI(圖形設(shè)備接口)一起負(fù)責(zé)文字圖像顯示 的工作,通過(guò)對(duì)屏幕的像素點(diǎn)進(jìn)行繪圖。 ,文檔類主要負(fù)責(zé)讀取和寫盤,處理內(nèi)存和磁盤的交互的。 應(yīng)用程序類, MFC程序的主函數(shù),程序編譯執(zhí)行的入口和出口,其中 InitInstance()函數(shù)負(fù)責(zé)初始化窗體。 [5] ActiveX ActiveX 控件或稱 OCX 控件,作為組件嵌入軟件或者網(wǎng)頁(yè)中,特點(diǎn)有快速開發(fā),支持多語(yǔ)言的編程,在 COM 組件作為基礎(chǔ)建立的 ActiveX,為開發(fā)人員提供了一個(gè)開放集成的平臺(tái),在 WEB 網(wǎng)頁(yè)和應(yīng)用程序中應(yīng)用廣泛 . . 6 2 需求分析 播放器軟件基本調(diào)查 多媒體播放器的基本情況就是能對(duì)多種媒體格式的視頻音頻進(jìn)行數(shù)字信號(hào)存儲(chǔ)的播放。在網(wǎng)絡(luò)上已經(jīng)有了許多流行且優(yōu)秀的播放器,我們可以先去其概況和功能進(jìn)行了解然后制定軟件需求。 由騰訊公司開發(fā)制作的一款支持本地媒體文件本地播放器,能支持多種格式的視音頻,第一個(gè)創(chuàng)立輕量級(jí)多播放的內(nèi)核技術(shù),作為一款“純凈”的多媒體播放器,沒有任何植入廣告,也沒有強(qiáng)制安裝其他軟件,且支持的格式多,深受好評(píng)。界面:新版的 影音的界面比舊版更為多彩,但還是一如既往的簡(jiǎn)潔,同時(shí)還提 供換膚的功能,不是僅僅是把界面的背景做更改,而是把整體的布局和窗口的樣式以及顏色風(fēng)格都做了改動(dòng)。功能界面有進(jìn)度條、播放控制按鈕、隱藏和顯示播放列表。 播放控制功能:播放、暫停、停止、上一曲、下一曲、調(diào)整進(jìn)度。 播放列表功能:添加文件夾、添加文件、刪除選中項(xiàng)、選中播放,打開自動(dòng)保存列表列表排序。 播放循環(huán)功能:?jiǎn)我徊シ?,順序播放 ,無(wú)序播放 ,單一循環(huán)播放 ,以及列表循環(huán)播放。 對(duì)一個(gè)本地播放器來(lái)說(shuō),暴風(fēng)影音功能算是較為強(qiáng)大的了。但是根據(jù)時(shí)代的發(fā)展,現(xiàn)在主流的播放器都是據(jù)有網(wǎng)絡(luò)播放和本地播放兩種功能。有服務(wù)器支持的 播放器可以直接在播放器中搜索視頻,代表暴風(fēng)影音。 作為本地播放器擁有播放器的功能,良好的人機(jī)交互界面,已經(jīng)流暢的解碼同時(shí)也作為網(wǎng)絡(luò)播放器,能在線檢索資源,在線播放和緩存媒體資源的軟件。功能強(qiáng)大,深受廣大用戶的喜愛。還具有轉(zhuǎn)換格式可以對(duì)當(dāng)前格式進(jìn)行轉(zhuǎn)換,同時(shí)可以對(duì)播放文件進(jìn)行片段的截取,可以把某塊片段截取下來(lái)保存,還有對(duì)視頻截圖,對(duì)當(dāng)前畫面的保存成位圖。 7 軟件功能分析 多媒體播放器通過(guò)初步的對(duì)用戶群體調(diào)查我了解到作為用戶他的需求重點(diǎn)主要在如下幾個(gè)方面: ,兼容性強(qiáng)。 。 ,同時(shí)不存在二級(jí)或二級(jí)以上的 BUG。 。 還經(jīng)過(guò)了對(duì) 影音、暴風(fēng)影音等幾款多媒體播放器分了解,分析制定了多媒體播放器的基礎(chǔ)需求分析如下: ,播放控制包括播放、暫停、停止以及上一曲和下一曲等基本的播放器控制功能,提供用戶進(jìn)行操作,當(dāng)播放音樂(lè)時(shí)播放界面就顯示波形動(dòng)畫,還有添加全屏播放的功能,讓用戶得到更好的體驗(yàn)。 ,進(jìn)度控制包括播放進(jìn)度條、快進(jìn)和快退,方便用戶了解觀看 進(jìn)度已經(jīng)對(duì)播放進(jìn)度的控制和改變。每次快進(jìn)或快退,播放進(jìn)度前進(jìn)或者退后百分之一,若是播放進(jìn)度的百分之一小于五秒則每次快進(jìn)或者退后 5 秒。 ,上調(diào)或下調(diào)滑條來(lái)控制音量的增加或者減少,音量的變化不影響操作系統(tǒng)的音量,可以通過(guò)勾選音量按鈕來(lái)開關(guān)音量。 ,設(shè)計(jì)一個(gè)按鈕能讓播放列表顯示和隱藏,在列表中顯示媒體文件的信息,如文件名、文件格式、播放時(shí)長(zhǎng)、所在硬盤的位置,能在列表里添加文件、移除選中的文件、雙擊播放選中的文件、清空列表、保存列表、還有調(diào)整文件所在列表的位置,導(dǎo)入列表 和導(dǎo)出列表。 ( MP WMA 等)、視頻格式( AVI、 WMV 等)的打開。 ,將所以控制功能都對(duì)應(yīng)實(shí)現(xiàn)在菜單欄中,設(shè)置快捷鍵的綁定,以方便用戶使用對(duì)應(yīng)的功能和操作,有利于建立良好的人機(jī)交互的界面。 ,讓用戶一目了然。 ,循環(huán)模式包括單一播放 ,順序播放 ,無(wú)序播放 ,單一循環(huán)播放 ,以及列表循環(huán)播放。 ,讓程序可以化為最小化圖標(biāo)在后臺(tái)運(yùn)行,在播放音樂(lè)時(shí),可以給用戶更好的享受。 ,該功能主要面向音頻方面的需求設(shè)計(jì) 的作為音頻播放器時(shí),或許睡覺看書時(shí)可以聽歌,為用戶設(shè)計(jì)計(jì)關(guān)機(jī)和關(guān)閉程序的功能。 8 ,此功能面向視頻方面的需求,對(duì)于用戶在觀看影片時(shí)遇到的精彩畫面可以及時(shí)的截取下來(lái)保存。 ,用戶可以自定義部分界面,讓其自己可以根據(jù)自己的喜好制定界面風(fēng)格。 具體功能用例圖見圖 所示。 圖 多媒體播放器用例圖 9 軟件運(yùn)行環(huán)境 操作系統(tǒng): Windows 2020/Windows XP/Windows Vista/Windows 7 業(yè)務(wù)流程分析 首先開始程序,先是 打開一個(gè)文件,有兩種打開方式,一、從列表里添加文件或者導(dǎo)入列表打開,二、直接打開文件,如果文件是符合兼容的類型,然后開始播放,否則視為打開失敗,播放過(guò)程中有一些的供用戶使用的操作,列表打開可以使用列表的循環(huán)模式,用戶可以對(duì)列表進(jìn)行一系列的操作。最后是退出,用戶使用完畢結(jié)束程序。詳解見圖 所示 . 圖 業(yè)務(wù)流程圖 10 數(shù)據(jù)流程分析 根據(jù)播放控制模塊的數(shù)據(jù)流程分析,首先獲取媒體文件的信息,通過(guò) WMP 的解碼器進(jìn)行媒體文件的數(shù)據(jù)解碼,解碼成數(shù)據(jù)信息流,其中包括了聲音信息流和圖片信息流,聲音數(shù)據(jù)流通 過(guò)系統(tǒng)進(jìn)行聲音合成,聲卡接受到數(shù)據(jù)流處理并輸出。圖像數(shù)據(jù)流通過(guò)圖像編碼,再進(jìn)行顯示控制的選項(xiàng),顯卡獲取數(shù)據(jù)流,處理并輸出。關(guān)于系統(tǒng)的數(shù)據(jù)流圖見圖 和圖 所示 . 圖 多媒體播放器系統(tǒng)頂層圖 圖 多媒體播放器系統(tǒng) 0 層圖 播放列表模塊中通過(guò)打開文件添加到播放列表中或者是通過(guò)列表添加功能添加文件,列表中以表格的形式分別文件名,文件的格式,文件播放的時(shí)長(zhǎng),文件路徑。一目了然的顯示媒體相關(guān)信息。 基于時(shí)間戳的播放過(guò)程中(詳解見圖 )僅僅對(duì)早到的或晚到的數(shù)據(jù)塊進(jìn)行等待 11 或快速處理,往 往是不夠的 如果想要更加主動(dòng)并且有效地調(diào)節(jié)播放性能,就需要引入反饋機(jī)制,也就是通過(guò)對(duì)比音視頻的時(shí)間戳將當(dāng)前數(shù)據(jù)流的播放狀態(tài)反饋給上層的“源” 如果音頻流滯后,就即時(shí)通知音頻解碼器加快音頻流輸出,但是如果滯后太多,則直接將當(dāng)前數(shù)據(jù)丟棄,直接跳到下一幀;如果視頻流滯后,就通知音頻解碼器減慢音頻輸出速度等待視頻流,如滯后太多也直接進(jìn)行跳幀 數(shù)據(jù)流首先通過(guò)分離器分解為視頻數(shù)據(jù)流和音頻數(shù)據(jù)流,然后經(jīng)過(guò)對(duì)應(yīng)的解碼器,同時(shí)由本地系統(tǒng)時(shí)鐘來(lái)進(jìn)行時(shí)間戳控制;獲得準(zhǔn)確顯示或回放時(shí)間以后進(jìn)行時(shí)間戳比較;若同步則直接輸出,不同步則 進(jìn)行音頻跳幀或等待,直到同步后輸出。 分離器視頻解碼器音頻解碼器時(shí)間截控制時(shí)間截比較視頻音頻同步信息反饋視頻輸出視頻解輸出 圖 視頻音頻同步數(shù)據(jù)流程 12 可行性分析 開發(fā)工具 : Visual Studio 2020 和 VC++ 開發(fā)語(yǔ)言: C++ 采用的是 Visual C++是 Windows 操作系統(tǒng)上常見的 C++開發(fā)工具,是 Microsoft 公司推出的目前使用極為廣泛的基于 Windows 平臺(tái)的 C++的可視化的開發(fā)環(huán)境。Visual C++ 編譯器負(fù)責(zé)將 C++源 代碼編譯成匯編文件,轉(zhuǎn)變?yōu)橹虚g文件,然后使用連接器將相關(guān)的中間文件連接起來(lái),生成可執(zhí)行的二進(jìn)制文件。 Visual C++ 不僅是一個(gè) C++編譯器,而且是一個(gè)基于 Windows 操作系統(tǒng)的可視化集成開發(fā)環(huán)境( integrated development environment,IDE)。 Visual C++ 許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)? AppWizard、類向?qū)? Class Wizard 等開發(fā)工具。這些組件通過(guò)一個(gè)名為 Developer Studio 的組件集成為和諧的開發(fā) 環(huán)境。使用 VC++ 編譯工具的 MFC完成對(duì)多媒體播放器的制作,在過(guò)去,計(jì)算機(jī)程序的目標(biāo)是短小使得運(yùn)行速度快的代碼,當(dāng)今計(jì)算機(jī)的性能更好,價(jià)格更大眾 ,程序開發(fā)主要的經(jīng)費(fèi)從以前以硬件為主轉(zhuǎn)到了以程序維護(hù)、開發(fā)為主,所以當(dāng)今程序設(shè)計(jì)的第一要?jiǎng)?wù)、目標(biāo)是以可移植性 ,以維護(hù)性還有可讀性,做出一個(gè)播放器的途徑具有多種方式,但是因?yàn)橹饔^的原因開發(fā)語(yǔ)言和開發(fā)環(huán)境的限制,只能在這個(gè)基礎(chǔ)上分析其他能夠達(dá)成目的的方法,根據(jù)查閱資料,目前根據(jù)需求能實(shí)現(xiàn)的有: MFC 里面提供的 ActiveX 控件 ,在選擇 Windows Media Player 組件,使用 WMP組件提供的類,對(duì)類的使用和操作來(lái)完成對(duì)多媒體播放器的設(shè)計(jì)以及實(shí)現(xiàn),可以快速的完成一個(gè)功能強(qiáng)大,且兼容性和界面友好的多媒體播放器,在實(shí)際的項(xiàng)目的改方案會(huì)減少大量的成本,有較好的開發(fā)效率。 —— MCI(多媒體應(yīng)用編程接口 ),能在比組件更高的層次上控制媒體設(shè)備,操作較為繁瑣,卻能完成各種功能。 綜上所述兩個(gè)條件分析,從開發(fā)效率上看的話, ActiveX 控件的相對(duì)更高一些,可以在組件提供的類對(duì)象上進(jìn)行對(duì)多媒體播放器的各種功能的。且對(duì) ActiveX 的可讀性更好一些 ,在組件限制的方面我們采用 MCI 編程,使用 MCI 強(qiáng)大的對(duì)系統(tǒng)多媒體接口的操控,從而開發(fā)出一個(gè)完善的播放程序。 13 3 系統(tǒng)總體設(shè)計(jì) 概要設(shè)計(jì) 播放器系系統(tǒng)的設(shè)計(jì):打開播放器,播放器程序首先進(jìn)行對(duì)話框信息的初始化,初始化的過(guò)程中初始化播放列表的信息,然后進(jìn)行播放、暫停等等的播放控制,修改播放器列表,記得當(dāng)前播放狀態(tài)信息,程序結(jié)束。根據(jù)流程圖 所示播放系統(tǒng)流程圖 圖 播放流程圖 程序的應(yīng)用初始化信息有窗口的類型,系統(tǒng)函數(shù)的,對(duì)話框的框架,文檔類等,對(duì)程序的各模塊進(jìn)行初始化,以 及播放器界面的初始化,然后讓程序運(yùn)行加載。加載列表之前所保存的文件信息,顯示預(yù)留提供操作,之后可以執(zhí)行相關(guān)播放停止等控制操作,也可以把程序最小化托盤,在后臺(tái)運(yùn)行,需要時(shí)調(diào)出來(lái)使用,程序結(jié)束前可以進(jìn)行播放器配置和播放信息的保存,以供下次打開程序加載使用。根據(jù)功能劃分為六大模塊,詳情見圖 所示 . 14 圖 系統(tǒng)功能結(jié)構(gòu)圖 打開 media player, media players 先進(jìn)行初始化,在打開文件后進(jìn)行播放列表的加載,接下來(lái)可以進(jìn)行列表播放,列表數(shù)據(jù)的導(dǎo)入導(dǎo)出,列表的條目的排序和選項(xiàng)的上下挪動(dòng)順序,選中的選項(xiàng)移除和清空表格功能,見表下 所示。 表 播放列表模塊功能設(shè)計(jì) 播放列表模塊 播放 雙擊選中項(xiàng)來(lái)進(jìn)行播放。 列表的導(dǎo)入 /導(dǎo)出 導(dǎo)入或?qū)С隽斜硇畔⒌蕉M(jìn)制文本。 選中項(xiàng)的上 /下移動(dòng) 鼠標(biāo)拖動(dòng)或按鍵幫助移動(dòng)改變選中項(xiàng)位置。 清空列表或移除選中項(xiàng) 點(diǎn)擊按鍵完成清空或選中再點(diǎn)擊功能按鍵。 播放模式模塊有五種選擇模式,當(dāng)前只能存在一種模式五選一,菜單欄中的播放模式按鍵互相排除的單項(xiàng)選則。還有有一個(gè)全屏播放模式。見下表 所示。 15 表 播放模式模塊功能設(shè)計(jì) 播放模式模 塊 單個(gè)播放和循環(huán)播放 當(dāng)前文件播放,或者連續(xù)的循環(huán)播放改文件。 順序播放和循環(huán)播放 按順序播放當(dāng)前列表里的文件,播放完就停止。循環(huán)當(dāng)前播放。 隨機(jī)播放 在當(dāng)前中隨機(jī)的選擇下個(gè)播放的文件。 全屏 全屏播放 播放控制模塊包括對(duì)播放狀態(tài)的控制以及播放進(jìn)度的控制。見表 所示。 表 播放控制模塊功能設(shè)計(jì) 播放控制模塊 播放狀態(tài)控制 包括暫停 ,播放 ,停止的播放狀態(tài)進(jìn)行選擇,單擊相應(yīng)按鍵實(shí)現(xiàn)播放狀態(tài)的切換,在沒有打開文件和播放列表為空的情況下,按鍵點(diǎn)擊無(wú)效。通過(guò)上一個(gè)以及下一個(gè)進(jìn)行列表中文件上 \下的切換,當(dāng)前文件若是在列表中的最后一個(gè)文件,下一個(gè)時(shí)則切到列表最上方的文件。 播放進(jìn)度控制 包括快進(jìn) ,進(jìn)度條 ,快退。單擊快進(jìn)前進(jìn)總進(jìn)度的百分之一,快退則是倒退總進(jìn)度的百分之一。進(jìn)度條不僅僅用來(lái)顯示當(dāng)前的進(jìn)度概況,通過(guò)拖動(dòng)改變進(jìn)度。 下面是音量控制模塊。見表 所示。 表 音量控制模塊功能設(shè)計(jì) 媒體文件模塊。見表 所示。 表 文件模塊功能設(shè)計(jì) 文件模塊 文 件 打開并且播放媒體文件,對(duì)于無(wú)法兼容的文件不給供打開功能。 最后一個(gè)模塊是計(jì)劃關(guān)閉模塊,主要是設(shè)置定時(shí)然后完成相應(yīng)的關(guān)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1