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

正文內(nèi)容

畢業(yè)設(shè)計(jì)論文:基于directshow的多媒體播放器設(shè)計(jì)與實(shí)現(xiàn)-資料下載頁(yè)

2025-08-07 12:03本頁(yè)面
  

【正文】 rol, full screen and other use technologies include Visual C++ and MFC program design methods, the use of DirectShow player core technology, ADO database access technology, Skin++ library technology the system requirements analysis, design, implementation, pleted a media player system, various functions normal use, and gives the realization key second chapter is a paper related to technology introduction, two chapters is the system requirements analysis and design, the fifth chapter is the focus of this paper, detailing the implementation details of the player, the sixth chapter is the system testing and is based on the COM ponent, it is a binary level (not limited to programming languages ??and operating systems), has good patibility and portability. Since I was a beginner DirectShow, the player has some flaws, DirectShow development prospects, have the opportunity to study it in depth, on the basis of the existing players more perfect.Key words:Visual C++ MFC DirectShow Player1 緒論 課題研究的背景與意義當(dāng)今信息技術(shù)越來(lái)越發(fā)達(dá),社會(huì)越來(lái)越信息化、智能化,多媒體在未來(lái)社會(huì)應(yīng)用越來(lái)越廣泛。Microsoft的Windows操作系統(tǒng)作為全球最主流、最常用的操作系統(tǒng),掌握在它上面的多媒體開(kāi)發(fā)技術(shù)顯得越來(lái)越需要,相對(duì)于其他多媒體開(kāi)發(fā)技術(shù),掌握它本身提供的DirectX多媒體開(kāi)發(fā)包顯得更為適合。DirectShow是微軟提供的多媒體開(kāi)發(fā)包DirectX中的一部分,它是建立在DirectDraw和DirectSound基礎(chǔ)之上。 Microsoft給DirectShow程序員提供了一套開(kāi)發(fā)多媒體標(biāo)準(zhǔn)的、統(tǒng)一的、高效的API接口,這些接口使得多媒體數(shù)據(jù)的回放變得簡(jiǎn)單,剝離了應(yīng)用程序和硬件底層的差異性。而DirectShow是基于COM組件的開(kāi)發(fā)包,COM是基于二進(jìn)制代碼級(jí)的協(xié)議(與編程語(yǔ)言無(wú)關(guān)的協(xié)議),對(duì)使用DirectShow開(kāi)發(fā)的軟件以后的移植和兼容問(wèn)題提供了良好的解決方案。 DirectShow使用智能連接開(kāi)發(fā)多媒體應(yīng)用程序,大大簡(jiǎn)化了開(kāi)發(fā)人員工作量,同時(shí)開(kāi)發(fā)人員亦可開(kāi)發(fā)自定義的濾波器。使得基于DirectShow的應(yīng)用程序可以充分滿足不同用戶的需求。在未來(lái)幾年中,DirectShow技術(shù)的發(fā)展前景將是非常廣闊的。 課題國(guó)內(nèi)外研究現(xiàn)狀DirectShow流媒體視頻技術(shù)現(xiàn)在廣泛的應(yīng)用在國(guó)內(nèi)外,涉及視頻處理、視頻捕捉、網(wǎng)絡(luò)視頻監(jiān)控、網(wǎng)絡(luò)視頻傳輸和電子商務(wù)等各個(gè)方面。 國(guó)內(nèi)的視頻播放器多種多樣,有暴風(fēng)影音、影音、迅雷看看等多種播放器,它們各自有各自的特點(diǎn),目前暴風(fēng)影音占據(jù)著市場(chǎng)的最大份額,它們各自采用的實(shí)現(xiàn)技術(shù)有所異同。隨著Internet的商業(yè)化,一些商家紛紛行動(dòng)規(guī)劃開(kāi)發(fā)適用于本企業(yè)的播放器。根據(jù)iResearch艾瑞資訊最新退出的網(wǎng)民連續(xù)用戶行為研究系統(tǒng)iUserTracker的最新數(shù)據(jù)顯示,目前,比較流行的多媒體播放器有:Microsoft Windows Media Player、RealOne、豪杰超級(jí)解霸以及暴風(fēng)影音等,暴風(fēng)影音和Windows Media Player是使用最廣泛的影視播放軟件,而這量大播放器的核心編碼已成控件,因此全球網(wǎng)絡(luò)化的公司都在利用這兩大核心控件開(kāi)發(fā)適合自己使用的播放器;網(wǎng)絡(luò)上也有不少的研究者熱衷于播放器的研究利用控件或MCT接口開(kāi)發(fā)自己的播放器,并取得了很大的進(jìn)步,推動(dòng)了播放器的發(fā)展。筆者所開(kāi)發(fā)的多媒體播放器是使用的DirectShow技術(shù),使用KLite_Codec_Pack進(jìn)行解碼,能播放任意格式的媒體文件,和其他播放器不同的是,我加入了排行榜、播放模式控制、捕獲設(shè)備視頻等功能,界面清晰,使用簡(jiǎn)單。 可行性分析 技術(shù)可行性分析本人熟悉計(jì)算機(jī)相關(guān)基本知識(shí)、熟悉程序設(shè)計(jì)方法、熟練掌握VC++編程、MFC開(kāi)發(fā)方法和技巧,具備一定的編程經(jīng)驗(yàn)和獨(dú)立編程能力?;贒irectShow視頻播放器實(shí)現(xiàn)原理可以通過(guò)查閱相關(guān)資料、請(qǐng)教老師和他人進(jìn)行學(xué)習(xí)掌握,所以在技術(shù)上具有可行性。 經(jīng)濟(jì)可行性分析該軟件的開(kāi)發(fā)、測(cè)試、運(yùn)行使用等步驟皆在自己PC上完成,無(wú)需提供其他設(shè)備。 開(kāi)發(fā)過(guò)程中涉及到的知識(shí)、軟件開(kāi)發(fā)成本、交付后的運(yùn)營(yíng)維護(hù)皆由本人控制、完成,所用的軟件和硬件配置環(huán)境均為現(xiàn)成,所以經(jīng)濟(jì)上具有可行性。 管理可行性分析本軟件運(yùn)用到實(shí)際生活、工作中,將會(huì)使音頻/視頻的播放和處理變得便利、經(jīng)濟(jì)及娛樂(lè),而且還可以根據(jù)朋友、他人的用戶體驗(yàn)不斷完善此軟件,可以感受到成就感,所以管理上具有可行性。綜上所述,本課題的可行性是有保障的。 論文的主要內(nèi)容及章節(jié)安排論文的主要內(nèi)容:詳細(xì)的闡述利用DirectShow實(shí)現(xiàn)多媒體播放器的原理、實(shí)現(xiàn)過(guò)程以及實(shí)現(xiàn)之后的演示效果,當(dāng)中包含大量的Visual C++程序設(shè)計(jì)方法和數(shù)據(jù)庫(kù)操作。論文內(nèi)容整體安排如下:第一章:介紹此課題的意義、相關(guān)背景和現(xiàn)狀。第二章:介紹完成此軟件所用到的平臺(tái)和技術(shù)。第三章:闡述此軟件的需求分析,包括業(yè)務(wù)分析、數(shù)據(jù)分析、功能需求和非功能需求。第四章:闡述此軟件的整體結(jié)構(gòu)和各個(gè)模塊設(shè)計(jì)。第五章:詳細(xì)闡述此軟件的具體實(shí)現(xiàn)過(guò)程,包括各功能的核心代碼。 最后是總結(jié)、致謝。 2 相關(guān)平臺(tái)及開(kāi)發(fā)技術(shù)簡(jiǎn)介 Microsoft Visual C++ 2010概述Microsoft Visual C++,(簡(jiǎn)稱Visual C++、MSVC、VC++或VC)微軟公司的C++開(kāi)發(fā)工具,具有集成開(kāi)發(fā)環(huán)境,可提供編輯C語(yǔ)言,C++以及C++/CLI等編程語(yǔ)言。VC++整合了便利的除錯(cuò)工具,特別是整合了微軟視窗程式設(shè)計(jì)(Windows API)、三維動(dòng)畫(huà)DirectX API,Microsoft .NET框架。 MicosoftVisual C++ 2010特點(diǎn)Microsoft Visual C++是微軟公司推出的開(kāi)發(fā)Win32環(huán)境程序、面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它的主要優(yōu)點(diǎn)如下:(1)程序框架自動(dòng)生成(2)靈活方便的類管理(3)代碼編寫(xiě)和界面設(shè)計(jì)集成交互操作(4)可開(kāi)發(fā)多種程序(5)支持?jǐn)?shù)據(jù)庫(kù)接口、OLEWinSock網(wǎng)絡(luò)和3D控制界面 MFC概述MFC(Microsoft Foundation Classes)是一個(gè)微軟公司提供的類庫(kù)(class libraries),以C++類的形式封裝了Windows的API,并且包含一個(gè)應(yīng)用程序框架,以減少應(yīng)用程序開(kāi)發(fā)人員的工作量。MFC中的關(guān)鍵技術(shù):(1) MFC程序的初始化過(guò)程建立一個(gè)MFC窗口:從CWinApp派生一個(gè)應(yīng)用程序類,然后建立應(yīng)用程序?qū)ο螅╰heApp)。(2) 動(dòng)態(tài)創(chuàng)建運(yùn)行時(shí)創(chuàng)建指定類的對(duì)象。如框架窗口對(duì)象、視對(duì)象等,比如文檔對(duì)象需要由文檔模版類對(duì)象來(lái)動(dòng)態(tài)的創(chuàng)建。 (3) 串行化程序中盡管有著各種各樣的數(shù)據(jù),串行化機(jī)制會(huì)像流水一樣按順序存儲(chǔ)到單一的文件中,而又能按順序的取出,變成各種不同的對(duì)象數(shù)據(jù)。 (4) 消息映射和傳遞MFC把SDK編程中對(duì)消息的產(chǎn)生、傳遞、到過(guò)程函數(shù)中響應(yīng)的過(guò)程封裝起來(lái),形成消息映射宏、消息映射表和消息響應(yīng)函數(shù)體系,更加直觀和便于操作。 ADO訪問(wèn)數(shù)據(jù)庫(kù)技術(shù)概述 OLE DB和ADO簡(jiǎn)介OLE DB(Object Link and Embedding DataBase)是Visual C++開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序時(shí)提供的新技術(shù),它對(duì)所有的文件系統(tǒng)包括關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)都提供了統(tǒng)一的接口。ADO(ActiveX Data Object)技術(shù)基于OLE DB,它繼承了OLE DB技術(shù)的優(yōu)點(diǎn),對(duì)其接口作了封裝,使程序開(kāi)發(fā)得到簡(jiǎn)化。 ADO主要對(duì)象介紹(1) 連接對(duì)象(Connection Object)代表一個(gè)和數(shù)據(jù)源的連接,以后的數(shù)據(jù)庫(kù)操作都是建立在這個(gè)連接上的。 (2) 命令對(duì)象(Command Object)用來(lái)處理數(shù)據(jù)庫(kù)的一些操作,在某些方面具有和連接對(duì)象相同的功能(3) 記錄集對(duì)象(RecordSet Object)代表了一個(gè)記錄集,用來(lái)訪問(wèn)記錄集。在使用這3個(gè)對(duì)象的時(shí)候,需要定義與之對(duì)應(yīng)的3個(gè)智能指針,分別為:_ConnectionPtr、_CommandPtr和_RecordsetPtr。 VC++中使用ADO進(jìn)行數(shù)據(jù)庫(kù)開(kāi)發(fā)的基本流程(1)引入ADO動(dòng)態(tài)鏈接庫(kù)。(2)初始化OLE/COM庫(kù)環(huán)境。(3)用Connection對(duì)象連接數(shù)據(jù)庫(kù)。(4)利用建立好的連接,打開(kāi)記錄,通過(guò)Connection、Command對(duì)象執(zhí)行SQL語(yǔ)句或利用Recordset對(duì)象取得結(jié)果記錄集進(jìn)行查詢、處理操作。 (5)使用完畢后關(guān)閉連接、釋放對(duì)象。 DirectShow核心技術(shù) DirectShow整體架構(gòu)DirectShow SDK為流媒體的開(kāi)發(fā)帶來(lái)了極大的便利。提供了從底層的視頻采集到頂層的流媒體交互應(yīng)用的解決方案,并且把應(yīng)用程序從數(shù)據(jù)傳輸、硬件差別和同步機(jī)制等復(fù)雜問(wèn)題中分離出來(lái)。其整體架構(gòu)如下圖所示: DriectShow系統(tǒng)架構(gòu) COM組件DirectShow是基于COM的流媒體處理的開(kāi)發(fā)包。COM是一種跨應(yīng)用和語(yǔ)言共享的二進(jìn)制代碼的方法,它是個(gè)開(kāi)放的組件標(biāo)準(zhǔn),具有很強(qiáng)的擴(kuò)充和擴(kuò)展能力。其優(yōu)點(diǎn)如下:(1) 可以將系統(tǒng)中的組件用新的替換掉,以便隨時(shí)進(jìn)行系統(tǒng)的升級(jí)和定制。(2) 可以方便的將應(yīng)用系統(tǒng)擴(kuò)展到網(wǎng)絡(luò)環(huán)境中。 (3) 可以在多個(gè)應(yīng)用系統(tǒng)中重復(fù)利用同一個(gè)組件。 (4) COM組件與語(yǔ)言和平臺(tái)無(wú)關(guān)。 Filter概述及連接濾波器Filter是一個(gè)COM組件,是DirectShow中最基本的元件,DirectShow提供了標(biāo)準(zhǔn)濾波器,亦可自定義。濾波器主要分為以下幾種類型:(1)源濾波器(2)變換濾波器(3)提交濾波器。濾波器之間通過(guò)輸出引腳(OutPin)和輸入(InputPin)引腳之間連接來(lái)進(jìn)行數(shù)據(jù)傳輸,所有的濾波器連接起來(lái)形成濾波器鏈表即Filter Graph Manager。 數(shù)據(jù)流的傳輸過(guò)程如下圖所示: 數(shù)據(jù)傳輸流動(dòng)過(guò)程 濾波器鏈表管理器在DirectShow中,使用濾波器鏈表管理器來(lái)控制濾波器鏈表中的所有濾波器,它也是COM形式的。它通過(guò)使用迭代的方法將各個(gè)濾波器連接起來(lái)建立濾波器鏈表。 最重要的是它提供了一系列的接口給應(yīng)用程序,比如IMediaControl(控制數(shù)據(jù)流)、IMediaEventEx(處理濾波器鏈表事件)、IBasicAudio(控制音頻流的音量和平衡)等,使得應(yīng)用程序方便、實(shí)時(shí)的控制、改變?yōu)V波器鏈表中的狀態(tài),以達(dá)到用戶想要的要求和效果。 濾波器鏈表中數(shù)據(jù)傳輸濾波器之間傳遞的數(shù)據(jù)內(nèi)容不是直接指向內(nèi)存塊的指針,而是一個(gè)管理內(nèi)存的COM對(duì)象,稱之為媒介樣品(MediaSample),它由一個(gè)叫做(分配器)Allocator的COM對(duì)象來(lái)創(chuàng)建和管理。 濾波器、媒介樣品和分配器三者之間的關(guān)系如下圖所示: 分配器、媒介樣品和濾波器之間的關(guān)系DirectShow為數(shù)據(jù)在濾波器鏈表中傳輸定義了兩種機(jī)制:(1)推模式(Push Model):上一級(jí)濾波器將生成的數(shù)據(jù)提交給下一級(jí)濾波器,下一級(jí)被動(dòng)的接收數(shù)據(jù),依次進(jìn)行傳遞。 (2)拉模式(Pull Model):下一級(jí)濾波器向上一級(jí)濾波器請(qǐng)求數(shù)據(jù),上一級(jí)濾波器才傳送數(shù)據(jù)給它,依次進(jìn)行傳遞。 事件通知機(jī)制DirectShow中的事件通知機(jī)制和Windows中的消息機(jī)制非常類似,各種濾波器,濾波器鏈表管理器都是通過(guò)事件通知的方式和應(yīng)用程序進(jìn)行交互、通信的。 比如多媒體文件的播放、暫停、停止等狀態(tài)變化都是通過(guò)此方式通知應(yīng)用程序,應(yīng)用程序自定義響應(yīng)函數(shù)來(lái)處理各種事件。在本軟件中,響應(yīng)最多的是多媒體文件播放結(jié)束事件通知。 具體實(shí)現(xiàn)過(guò)程:(1) 自定義濾波器鏈表通知給指定窗口消息 define WM_GRAPHNOTIFY (WM_USER + 20)(2)設(shè)置消息通知到指定窗口 m_pFilterGraphSetNotifyWindow(thisGetSafeHwnd())。 (3)自定義響應(yīng)函數(shù)中解析事件(回調(diào)函數(shù)) pEventGetEvent(amp。eventCode,amp。eventParam1,amp。eventParam2,INFINITE)(4)響應(yīng)操作 Skin++皮膚庫(kù)概述 Skin++簡(jiǎn)介Skin++,采用獨(dú)特的軟件界面開(kāi)發(fā)技術(shù),讓原本復(fù)雜繁瑣的界面編程變得輕松自如,只需要在您的程序中添加一句代碼,Skin++就能讓您的界面煥然一新,并擁有多種主題風(fēng)格和色調(diào)的動(dòng)態(tài)切換功能。 Skin++特性(1)支持Windows系統(tǒng)對(duì)話框與控件。(2)支持廣泛的開(kāi)發(fā)工具。(3)皮膚資源海量。 Skin++換膚流程(1) 應(yīng)用程序啟動(dòng),加載Skin++庫(kù)。(2) 執(zhí)行Skin++加載皮膚文件API函數(shù)。(3) 應(yīng)用程序退出,卸載Skin++庫(kù)。3 系統(tǒng)需求分析 系統(tǒng)業(yè)務(wù)需求此軟件是基于DirectShow的多媒體播放器,主要的業(yè)務(wù)需求是正確播放不同格式的音頻和視頻文件。 系統(tǒng)數(shù)據(jù)需求此軟件的數(shù)據(jù)需需求主要為播放器接收到的數(shù)據(jù)源,此處包括mpwma、flac等
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1