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

正文內(nèi)容

基于vc的多媒體播放器設計-畢業(yè)論-在線瀏覽

2025-08-08 16:31本頁面
  

【正文】 s Media Player 控件是微軟公司推出的用于多媒休程序設計的控件 , 它提供了非常完善 的音頻和視頻媒體文件的回放功能,能支持多種文件格式,從最常見的 WAV 文件和 AVI 文件到使用 MPEG 壓縮格式的 VCD 視頻文件,都可以正常地進行播放。因此,若正在編寫的應用程序需要提供多媒體支持,那么使用 Windows Media Player控件是一個很好的主意。使用 Windows Media Player控件開發(fā)多媒體應用程序可以大大提高多媒體開發(fā)效率,只要設置控件的 ,確定該控件要打開的媒體文件名稱,然后執(zhí)行 RUN方法就可以對該媒體文件進行播放 。還能用鼠標 Click相應的按鈕完成播放、停止、暫停 、保存列表 、 清空列表、刪除當前 等功能 。這些商業(yè)軟件在功能上已經(jīng)做的相當完備,也符合大多數(shù)普通消費者的的胃口,但很多人電腦里總是安裝了多種播放器,因為不同的播放器有不同的特點, 并 不是每個人都執(zhí)著于用 某 一款播放器, 因此設計一款符合自己使用習慣的播放器是很可行的 。同時想要實現(xiàn)更高級更復雜的功能 ,也可以借助 ActiveX 控件資源,用這些現(xiàn)有的控件資源,可以省去自己編程的復雜過程,從而實現(xiàn)更高級的功能。 此多媒體播放器具有打開文件、播放、暫停、 保存列表、清空列表、刪除當前、 退出、靜音 等基本播放功能,并且可以播放: *.mp3, *.wma, *.rmvb, *avi 等格式的音頻視頻文件。同時,我也添加了保存列表的功能,當下一次打開時能保留上一次保存的播放列表,當然也添加了 清空 列表和刪除當前的功能,更具人性化。 對于打開文件按鈕,需要調(diào)用通用文件對話框類,并利用 listbox 中的 AddString函數(shù)把選中的文件添加到播放列表中,在 MFC學習中有涉及。 對于播放列表,這次設計使用了 SetWindowPos 函數(shù)來改變一個子窗口彈出的尺寸和方向,并一些相關的函數(shù)實現(xiàn)了保存列表、刪除列表、刪除當前的功能。這當中運用的 ontimer() 函數(shù)和 settimer() 函數(shù)來控制播放模式。 圖 2 工程建立 圖 3 基于對話框的 MFC 程序 6 在建立好工程之后,首先是 Windows Media Player 控件的添加:建立空白對話框之后,在對話框的空白處單擊鼠標右鍵,選擇 Insert ActiveX Control 菜單項。加入控件后,此時該控件與該對話框并沒有聯(lián)系,需要對其進行變量的關聯(lián)。 Cwmpplayer4類主要是關于對其他類的對象的調(diào)用以及基本的控件功能的實現(xiàn),提供了與 Windows Media Player 控件進行交互的基本方法,其中部分成員函數(shù)還能夠進一步獲取得到其他相關類對象的實例; Cwmpcontrols 類主要是對控件的更多的操作; Cwmpmedia 類主要是對于媒體文件資源的一些操作; Cwmpplaylist 類主要是關于播放列表的操作; Cwmpsettings 類主要是對于媒體文件中的一些基本設置的操作。 界面設計 首先是打開按鈕,用于媒體文件的打開。對其進行變量的關聯(lián),以及 ID的修改,修改結果如表 表 2所示: 表 1 控件 ID 以及關聯(lián)變量 控件 Caption 按鈕 ID 關聯(lián)變量類型 關聯(lián)變量名稱 WMPlayer IDC_player CWMPlayer4 m_HuangJianfei 表 2 控件 ID 以及對應響應函數(shù) 控件 Caption 按鈕 ID 消息響應函數(shù) 打開 IDC_OPEN OnOpen() 播放 IDC_PLAY OnPlay() 暫停 IDC_PAUSE OnPause() 保存列表 IDC_SAVELIST OnSavelist() 清空列表 IDC_DELLIST OnDellist() 刪除當前 IDC_DELLISTCUR OnDellistcur() 雙擊 播放列表 IDC_LIST1 OnDblclkList1() 隱藏 /展開 IDC_ONLIST OnOnlist() 列表框 IDC_LIST1 OnDblclkList1() 靜音 IDC_MUTE OnMute() 表 3 控件 ID 以及對應響應函數(shù) 控件 Caption 按鈕 ID 消息響應函數(shù) 停 止 IDC_STOP OnStop() 退出 IDC_EXIT OnExit() 關于 IDC_ABOUT OnAbout() 以上為有對應控件的對象的關聯(lián),除了有對應控件的,還需要有 Windows Media Player 控件所生成的 17 個類中的幾個重要的類進行對象的定義, 可知,對于成員對象的定義和成員函數(shù)的聲明都放在頭文件中,此次設計共主要用到其中 3個類 ,因為設計了一個退出提醒彈出框,所以也要對其定義,具體如表 3所示: 表 4 其他類及對應對象 類名 對象名 類名 對象名 CWMPControls m_Control CWMPPlaylist m_Playlist CWMPMedia m_Media CString m_PathName CWMPSettings m_Setting CString m_FileName 除了對各個控件關聯(lián)變量以及消息響應函數(shù),還要對對話框類進行消息響應函數(shù)的關聯(lián),因為此次設計中添加了播放模式選擇的功能,所以需要用到 WM_TIMER 消息響應函數(shù)以及 SetTimer()和 OnTimer()函數(shù)來實現(xiàn)這項功能,將對話框類進行該消息響應函數(shù)的關聯(lián)并書寫程序。 9 圖 8 添加 WM_TIMER 消息響應函數(shù) 最終得到各個空間分布后的界面如圖 9 所示 : 圖 9 多媒體播放器界面 除了以上主對話框外,我還對 ABOUTBOX 進行了重新設計,也自制了一個 Check 對話框,其中 ABOUTBOX 如圖 10所示。 10 圖 10 修改后的 ABOUTBOX 對話框 圖 11 提醒對話框 關于菜單的制作,首先,需要在 ResourceView 中加入資源 Menu,后增加對應的菜單項以及菜單自己布局,下拉菜單則需要和按鈕關聯(lián),其方法是將其 ID 和按鈕的 ID 一樣,菜單布局圖 12 所示。 //打開函數(shù) void CHuangJianfeiDlg::OnOpen() 11 其中難點在于對于陌生函數(shù)的理解,由于類數(shù)目較多,各類又有各自不同的成員函數(shù),運用起來比較困難。播放列表中獲取路徑名是靠的添加主要依靠于 GetNextPathName()函數(shù),而 ()函數(shù)是將項目名添加到播放列表中。隱藏 /展開 播放列表按鈕函數(shù)和 OnDblclkList1()。 void CHuangJianfeiDlg::OnOnlist() 對于 隱藏 /展開 播放列表按鈕,設計在那的功能是運行軟件時播放器的播放列表是展開 的,當點擊按鈕時,播放列表 隱藏 。為此,在程序定義了一個全局變量 flag,將其設為一個標志, 在初始化時定義窗口無相對位移,當點擊按鈕是,窗口位移,因此就實現(xiàn)了播放列表的隱藏和出現(xiàn)的功能。在其中編程時也加入了執(zhí)行響應函數(shù) SetTimer(),當點擊函數(shù)時就開始創(chuàng)建計數(shù)器,以便實現(xiàn)播放模式的功能。初始化時默認設置為順序播放,當雙擊播放時就開始創(chuàng)建計數(shù)器,每 1 秒就執(zhí)行以下 OnTimer函數(shù)。如果是順序播放,就自動執(zhí)行下一項目;如果是隨 機 播放,就在 “ 列表的文件數(shù) ”中 產(chǎn)生一個隨 機 數(shù),然后執(zhí)行;而如果是單曲循環(huán),那么就一直執(zhí)行當前文件。 //選擇第一行 ((CButton*)GetDlgItem(IDC_RADIO1))SetCheck(true)。首先,是對 Onabout()函數(shù)的修改: void CHuangJianfeiDlg::OnAbout() 其次,是對 Onexit()函數(shù)的重載。各個菜單中的菜單項的功能,只要將對應的菜單項改成與對應功能的按鈕控件的 ID 相同即可方便快速地實現(xiàn)。開始看到 VC++選擇了一個感興趣的的題目 —— 基于 VC下的 多媒體播放器 設計 , 讓我無從下手,不知道如何 用 VC++做出一個視頻播放器的靜態(tài) 界面, 更不知道 要 如何 做出一個播放器并且還要具有播放視頻音頻的真實效果,其他的功能也都要實現(xiàn), 剛開始 覺得這個 課題 很難,因為當時大 三下學期學的 VC+++已經(jīng)過去 半年多 了,而且當時是 在準備考研 ,所以學的不扎實。 添加了 Windows Media Player 這個控件之后會添加 17個類,數(shù)目眾多的類具有非常強大的功能,不過都不了解。 靜音處理這點上我有所創(chuàng)新,因為一般在做靜音的時候都是只 能靜音,再次點擊的時候不能回復原來沒有靜音的狀態(tài),我在里面加入 一個選擇循環(huán),不斷在靜 音和恢復之間切換,在靜音前先對當前的音量值進行保存,而后再靜音,這樣就真正的實現(xiàn)了播放器靜音的功能。結果調(diào)試了好久都沒弄好,最后才知道調(diào)用一個 “GetCount()” 函數(shù)的時候,其數(shù)值是 (N1),不是 N,這個跟 C 語言語法一樣,在定義數(shù)值的時候,都是從 0開始。 VC++有個缺點,就是每次建立類向導后,一旦刪除類向導后總是還要手動刪除該 類向導代碼,還要刪除頭文件里的變量,不然總是提示錯誤,這也是 VC++的一個不盡人意的地方。完成多媒體播放器之后,我深刻的體會到系統(tǒng)構架和設計模式的重要性。編寫代碼更加有條理,才會更加符合軟件工程的標準。 最后,終于做完了 這個多媒體 播放器,實現(xiàn)了設置的功能,感覺整個過程不 像 老師所說的 “ 視頻播放器最簡單 ” ,雖然很多代碼現(xiàn)成的,但是關鍵是項目 繁瑣 ,加起來很麻煩,瑣碎。 6 致謝 首先我要感謝的是我的同學石軍紅,感謝他借給電腦,讓我把他的電腦做成 windows XP系統(tǒng),才能裝上我需要的軟件 Visual C++,才使得我的畢業(yè)設計得以完成。我還想感謝的是沈峰老師,感謝他給我在畢業(yè)設計中出 14 現(xiàn)的有關 VC方面的問題作出建議和意見。小錯誤較多在此不贅述,都是一些與未加對應頭文件,未定義正確變量名有關的小錯誤,也較容易糾正,下文將敘述調(diào)試過程中的錯誤 或不足以及改正辦法 。加皮膚前界面很難看而且很單調(diào),加完皮膚后就比較好看了,如下 圖 15 所示 : 圖 15 加皮膚后 ( 2)問題二 15 運行我制作的多媒體播放器時,播放模式是播放完一首歌或播放完一部 AVI 格式的電影后就停止了,也就是沒有設置 初始的播放模式。 //選擇第一行 ((CButton*)GetDlgItem(IDC_RADIO1))SetCheck(true)。然后在 OnStop()內(nèi)部的最后添加代碼:KillTimer(1),然后使問題得以解決。 MCI。 audio。t agree with the disciplinary action your employer has taken against you your employer dismisses you and you think that you have been dism
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1