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

正文內(nèi)容

基于vc開發(fā)工具的媒體播放器軟件設(shè)計(jì)—畢業(yè)設(shè)計(jì)論文(編輯修改稿)

2025-09-02 08:47 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 體文件,并能轉(zhuǎn)換輸出為其他格式。Quick Time Player還支持基于 HTTP、RTP、RTSP、FTP 流格式的在線音頻和視頻。三 、 MCI 命 令 接 口 編 程Windows MCI(media control interface)是控制多媒體設(shè)備的高層、通用的命令接口。它白日做夢(mèng)一組與設(shè)備無(wú)關(guān)的函數(shù)和命令,可有效地控制多媒體設(shè)備。MCI 可控制所有 Windows能驅(qū)動(dòng)的多媒體設(shè)備,包括 CD音頻(CD Audio) 、數(shù)字視頻、動(dòng)畫、數(shù)字化波形聲音、MIDI 音序器、錄像機(jī)及影碟機(jī)等。MCI包含在 Windows系統(tǒng)的 ,有以協(xié)調(diào)多媒體事件和 MCI設(shè)備驅(qū)動(dòng)程序之間的通信。一些 MCI設(shè)備驅(qū)動(dòng)程序,如影碟機(jī)設(shè)備驅(qū)動(dòng)程序,可以直接控制目標(biāo)設(shè)備;而另外一些 MCI設(shè)備驅(qū)動(dòng)程序,如 Wave和 MIDI設(shè)備驅(qū)動(dòng)程序,可通過(guò) MMSYSTEM中的函數(shù),間接控制目標(biāo)設(shè)備;還有一些 MCI設(shè)備驅(qū)動(dòng)程序則提供與其他 Windows動(dòng)態(tài)鏈接庫(kù)連接的高層接口。 MCI 設(shè)備使用 MCI的應(yīng)用程序通過(guò)指定 MCI的設(shè)備來(lái)區(qū)分 MCI設(shè)備,設(shè)備類型說(shuō)明了設(shè)備的物理類型。表 1表出了可能用到的 MCI設(shè)備類型。表 31 MCI 設(shè)備類型MCI設(shè)備 說(shuō)   明Cdaudio 激光唱機(jī)Waveaudio 數(shù)字化波形聲音設(shè)備Sequencer MIDI音序器Overlay 視頻疊加設(shè)備(窗口中的模擬視頻)Dat 數(shù)字化磁帶音頻播放機(jī)Digitalvideo 窗口中的數(shù)字視頻Scanner 圖像掃描儀Vcr 磁帶錄像機(jī)或播放機(jī)Videldisc 影碟機(jī)Mmmovie 多媒體影片播放器Other 示定義的 MCI設(shè)備 MCI 函數(shù)與命令Microsoft提供的 MCI功能的數(shù)據(jù)類型和函數(shù)原型,在使用 MCI功能的任何源模塊中都應(yīng)包含該文件?!CI 命令應(yīng)用程序能過(guò) MCI設(shè)備發(fā)送命令(命令消息或命令字符串)來(lái)控制 MCI設(shè)備,MCI 命令可以分為 4類,如下所術(shù)。1)系統(tǒng)命令:直接由 MCI解釋并由系統(tǒng)處理,是不傳送到 MCI設(shè)備的命令。2)通用命令:所有 MCI設(shè)備都支持的 MCI命令。3)可選命令:MCI 設(shè)備可選擇使用的 MCI命令。4)專用命令:針對(duì)某類 MCI設(shè)備或集合的專有 MCI命令。MCI定義了兩種接口方式,即命令消息方式和命令字符串方式。相應(yīng)地,MCI命令可分為命令消息和命令字符串。主要的 MCI命令及分類如表 2所示,這些命令可能具有其相應(yīng)的擴(kuò)展形式。表 31 MCI 命令列表MCI命令消息 MCI命令字符串MCI命令說(shuō)明 MCI命令類型MCI_SYSINFO SYSINFO 返回有關(guān) MCI設(shè)備的停息 系統(tǒng)命令MCI_BREAK BREAK 為一個(gè)指定的 MCI設(shè)備設(shè)置一個(gè)終止鍵MCI_SOUND SOUND 播放一段 Windows指定的系統(tǒng)聲音MCI_CLOSE CLOSE 關(guān)閉一個(gè) MCI設(shè)備MCI_GETDEVCAPS GETDEVCAPS 獲得一個(gè) MCI設(shè)備的性能參數(shù)MCI_INFO INFO 從一個(gè) MCI設(shè)備得到有關(guān)的信息MCI_OPEN OPEN 初始化一個(gè) MCI設(shè)備MCI_STATUS STATUS 從一個(gè) MCI設(shè)備返回有關(guān)的狀態(tài)信息通用命令MCI_LOAD LOAD 從一個(gè)磁盤文件中加載數(shù)據(jù)MCI_PAUSE PAUSE 暫停播放數(shù)據(jù)MCI_PLAY PLAY 開始播放數(shù)據(jù)MCI_RECORD RECORD 開始記錄數(shù)據(jù)MCI_RESUME RESUME 重新開始播放或記錄MCI_SAVE SAVE 將數(shù)據(jù)存儲(chǔ)到磁盤文件中MCI_SEEK SEEK 向前或向后檢索MCI_SET SET 設(shè)置設(shè)備信息MCI_STOP STOP 停止播放或記錄可選命令MCI命令都可以帶兩個(gè)標(biāo)志命令來(lái)控制命令的方式,即“wait”和“notify”。它們?cè)诿钕⒑兔钭址涌诘男问胶鸵馑既绫?3所示。表 32  MCI 標(biāo)志命令命令消息 命令字符串 功能MCI_WAIT wait 通知 MCI設(shè)備等,MCI 命令執(zhí)行完后,才能將控制權(quán)還給應(yīng)用程序。MCI_NOTIFY notify 通知 MCI設(shè)備等,立刻將控制權(quán)交給應(yīng)用程序,但當(dāng)命令執(zhí)行完后,向應(yīng)用程序發(fā)送 MM_MCINOTIFY消息。所有 MCI函數(shù)都以 mci為前綴。對(duì)應(yīng)于 MCI命令消息和命令字符串接口方式,MCI 函數(shù)也分為兩類,即命令消息函數(shù)和命令字符串函數(shù)。在 中定義了這些函數(shù)的原型。MCI 函數(shù)如表 4所示。表 33  MCI 函數(shù)函數(shù)名 功能 類型mciSendCommand 發(fā)送命令消息mciGetDeviceID 獲取 MCI設(shè)備的 IDmciSetYieldProc 設(shè)定一個(gè)回調(diào)函數(shù),在結(jié)束帶 wait標(biāo)志的命令時(shí)調(diào)用mciGetYieldProc 獲取當(dāng)前的回調(diào)函數(shù)命令消息接口函數(shù)mciSendString 發(fā)送命令字符串 命令字符串接口函數(shù)mciGetErrorString 獲取當(dāng)前 MCI錯(cuò)誤的字符串描述 公用函數(shù) MCI 命令消息接口方式MCI命令消息接口方式利用消息和數(shù)據(jù)結(jié)構(gòu)來(lái)給多媒體設(shè)備發(fā)送命令和接收 MCI設(shè)備傳來(lái)的信息。這種方式的接口函數(shù)主要有 3個(gè),即 mciSendCommand, mciGetDeviceID和 mciGetErrorString。它們的函數(shù)原型如下:MCIERROR mciSendCommand ( MCIDEVICEID IDDevice, //設(shè)備 ID UINT uMsg, //命令消息 DWORD fdwCommand, //命令消息標(biāo)志 DWORD dwParam //命令消息使用的結(jié)構(gòu)參數(shù)地址)。MCIDEVICEID mciGetDeviceID ( LPCTSTR lpszDevice //設(shè)備類型)。BOOL ( DWORD fdwError, //錯(cuò)誤代碼 LPTSTR lpszErrorText, //錯(cuò)誤描述 UINT cchErrorText //錯(cuò)誤描述長(zhǎng)度)。mciGetDeviceID通過(guò)傳送 MCI設(shè)備名 lpszDevice來(lái)獲取 MCI_OPEN命令消息找開 MCI設(shè)備的標(biāo)識(shí)號(hào) wDeviceID,其值可用于 mciSendCommand的參數(shù)wDeviceID。mciSendCommand 用于向標(biāo)識(shí)號(hào)為 wDeviceID的 MCI設(shè)備發(fā)送命令消息 uMsg。當(dāng)用送 MCI_OPEN命令消息打開一個(gè)設(shè)備時(shí),將自動(dòng)創(chuàng)建一個(gè)設(shè)備標(biāo)識(shí)號(hào)。如果設(shè)備打開成功,可以從 MCI_OPEN_PARMS結(jié)構(gòu)的 wDeviceID數(shù)據(jù)域中取得該設(shè)備的標(biāo)識(shí)號(hào),該值將保存以供后續(xù)的 MCI命令使用。如果mciSendCommand調(diào)用成功,則返回值為 0;否則表示設(shè)備驅(qū)動(dòng)出錯(cuò),這時(shí)可用mciGetErrorString來(lái)取得錯(cuò)誤信息的文字描述。MCI提供一個(gè)名為 MCI_ALL_DEVICE_ID的特殊設(shè)備標(biāo)識(shí)號(hào)。當(dāng)前所有已打開的 MCI設(shè)備都將接收到對(duì) MCI_ALL_DEVICE_ID發(fā)送的任何 MCI命令。使用任何一個(gè) MCI設(shè)備前都應(yīng)先用 MCI_OPEN打開它。打開 MCI設(shè)備時(shí),要求指定相應(yīng)的 MCI_OPEN_PARMS結(jié)構(gòu)。如果打開設(shè)備成功,則該結(jié)構(gòu)的wDeviceID域返回 MCI設(shè)備的標(biāo)識(shí)號(hào) ID。使用 MCI_OPEN命令消息時(shí)可使用的命令消息中表 5所示。MCI_OPEN_PARMS結(jié)構(gòu)定義如下:typedef struct { DWORD dwCallback。 //回調(diào)窗口句柄 MCIDEVICEID wDeviceID。 //設(shè)備打開成功,返回的設(shè)備號(hào) LPCSTR lpstrDeviceType。 //設(shè)備類型 LPCSTR lpstrElementName。 //復(fù)合設(shè)備的設(shè)備元素,通常為文件名 LPCSTR lpstrAlias。 //指定的設(shè)備別名} MCI_OPEN_PARMS。表 34  MCI_OPEN 命令消息標(biāo)志消息標(biāo)志 意義MC_OPEN_ALIAS MCI_OPEN_PARMS結(jié)構(gòu)的 lpstrAlias域中指定了設(shè)備別名MC_OPEN_ELEMENT MCI_OPEN_PARMS結(jié)構(gòu)的 lpstrElementName域中指定了設(shè)備元素MC_OPEN_SHAREABLE 按共享設(shè)備方式打開設(shè)備MC_OPEN_TYPE MCI_OPEN_PARMS結(jié)構(gòu)的 lpstrDeviceType域中指定了設(shè)備類型MC_OPEN_TYPE_ID MCI_OPEN_PARMS結(jié)構(gòu)的 lpstrDeviceType域中指定了設(shè)備類型 ID打開一個(gè)簡(jiǎn)單的 MCI設(shè)備不需要指定設(shè)備元素,即不需要指定一個(gè)數(shù)據(jù)文件,所以可以僅僅指定 MCI_OPEN_PARMS結(jié)構(gòu)中的 wDeviceID和lpstrDeviceType兩個(gè)數(shù)據(jù)域。要打開一個(gè)復(fù)合的 MCI設(shè)備,必須指定設(shè)備元素?cái)?shù)據(jù)域 lpstrElementName和設(shè)備類型數(shù)據(jù)域 lpstrDeviceType。對(duì)于打開復(fù)合 MCI設(shè)備,有以下 3種方式可供選擇:1) 為確定 MCI設(shè)備的性能,可以只指定設(shè)備的類型來(lái)打開 MCI設(shè)備。這時(shí),只允許確定 MCI設(shè)備的性能,然后關(guān)閉設(shè)備,不般不能進(jìn)行其它的操作。2) 為使一個(gè)設(shè)備元素與指定設(shè)備相聯(lián)系,應(yīng)同時(shí)指定設(shè)備元素(數(shù)據(jù)文件名)和設(shè)備類型。這時(shí)可對(duì)設(shè)備進(jìn)行相應(yīng)的各種操作。3) 在使用隱含的 MCI設(shè)備時(shí),可只指定 MCI設(shè)備(數(shù)據(jù)文件名) ,而把設(shè)備類型指定為 NULL;MCI 將根據(jù)設(shè)備元素的擴(kuò)展名從系統(tǒng)定義中選擇隱含約定的 MCI設(shè)備。應(yīng)用程序在使用完一個(gè) MCI設(shè)備后應(yīng)明確地關(guān)閉該 MCI設(shè)備。MCI_CLOSE命令消息用于關(guān)閉并釋放 MCI設(shè)備,即取消應(yīng)用程序?qū)?MCI設(shè)備或設(shè)備元素的訪問(wèn)權(quán)。當(dāng)用 MCI_SYSINFO命令消息獲取 MCI設(shè)備系統(tǒng)信息時(shí),需要在mciSendCommand的 dwParam參數(shù)中指定 MCI_SYSINFO_PARMS結(jié)構(gòu)的地址,系統(tǒng)信息將通過(guò)該結(jié)構(gòu)返回。與 MCI_SYSINFO命令消息相關(guān)的消息標(biāo)志如表 6所示。MCI_SYSINFO_PARMS結(jié)構(gòu)定義如下:typedef struct { DWORD dwCallback。//回調(diào)窗口句柄 LPSTR lpstrReturn。 //返回信息緩沖區(qū)地址 DWORD dwRetSize。 //返回信息大小 DWORD dwNumber。 //索引號(hào) UINT wDeviceType。 //設(shè)備類型} MCI_SYSINFO_PARMS。表 35  MCI_SYSINFO 命令消息標(biāo)志消息標(biāo)志 意義MCI_SYSINFO_QUANTITY 返回指定的設(shè)備類型的數(shù)目,如與 MCI_SYSINFO_OPEN一起使用,則僅返回已打開的設(shè)備的數(shù)目MCI_SYSINFO_NAME 返回設(shè)備名,如與 MCI_SYSINFO_OPEN一起使用,則僅返回已打開的設(shè)備的名稱MCI_SYSINFO_OPEN 僅返回已打開設(shè)備的信息MCI_SYSINFO_INSTALLNAME 指定設(shè)備的安裝名稱在使用 MCI設(shè)備時(shí),還應(yīng)注意共享、等待與通告等標(biāo)志的使用?!CI 命令字符串接口方式MCI命令字符串使用 ASCII字符串來(lái)發(fā)送驅(qū)動(dòng) MCI設(shè)備的命令,這種方式采用的接口函數(shù)有 mciSendString、mciGetErrorString。mciSendString用于向 MCI設(shè)備發(fā)送命令字符串,其函數(shù)原型如下:MCIERROR mciSendString( LPCTSTR lpszCommand, //指向一個(gè)以 NULL結(jié)尾的 MCI命令字符串,格//式如下: device_name argument LPTSTR lpszReturnString, //指向一個(gè)用于存儲(chǔ) MCI命令執(zhí)行后返回的//字符串信息的緩沖區(qū) UINT cchReturn, //緩沖區(qū)大小 HANDLE hwndCallback //指定一個(gè)接受 MM_MCINOTIFY的窗口句柄,除//非 MCI命令中包含了 notify標(biāo)志,否則該參數(shù)可忽略。)。四 、 軟 件 需 求 分 析 需求分析隨著計(jì)算機(jī)技術(shù)的發(fā)展和網(wǎng)絡(luò)的普及,多媒體素材類型越來(lái)越多,包括音頻、視頻、圖像、動(dòng)畫等,由于音視頻、圖像等的信息容量大,受硬件條件限制,以往多媒體應(yīng)用并不廣泛,隨著硬件技術(shù)的不斷提高,多媒體技術(shù)已為各類人員廣泛使用,開發(fā)多媒體課件、網(wǎng)絡(luò)課程、網(wǎng)站、應(yīng)用軟件、管理項(xiàng)目等均需利用多媒體素材。本軟件是為滿足部分人的瀏覽需求而開發(fā)的,能打開多種媒體格式,小巧簡(jiǎn)單,此外,為了方便使用,還具有對(duì)播放列表進(jìn)行操作的功能,因此開發(fā)制作這一播放器具有備現(xiàn)實(shí)意義。 可行性研究要開發(fā)一個(gè)軟件程序,其方案十分重要。一個(gè)合理可行的方案有助于減少程序員的工作量、縮短開發(fā)周期,更重要的是可以開發(fā)出運(yùn)行效率更高、可移植性更好、健壯性更強(qiáng)的代碼。以下是本程序的方案論證:本程序的開發(fā)用的是 VC++的 MFC集成開發(fā)環(huán)境,開發(fā)本程序的方案大概有如下二種:利用 VC開發(fā)環(huán)境提供的 ActiveX控件――ActiveMovieControl Object利用系統(tǒng)自帶的
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1