




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、本科生畢業論文(設計)題 目: 基于VC下的多媒體播放器設計 姓 名: 黃建飛 學 院: 理學院 專 業: 網絡工程 班 級: 091班 學 號: 1887090111 指導教師: 黃勇 職稱: 副教授 2013年5月26日安徽科技學院教務處制目錄摘要關鍵字1 引言1.1 課題研究的目的和技術發展的現狀1.1.1 研究本課題的目的1.1.2 技術應用的基本現狀1.2 論文完成的主要工作1.3 本論文中的重點2 基本功能描述3 設計思路4 軟件設計4.1設計步驟4.2界面設計4.3關鍵功能的實現5 總結與心得體會6致謝7參考文獻8 附錄8.1調試報告8.2測試結果基于VC下的多媒體播放器設計網絡
2、工程專業學生 黃建飛指導老師 黃勇摘要 目前常見的多媒體軟件應該說各有特色,但是幾乎每一款多媒體軟件都存在著不如人意的地方。我的畢業設計題目是“基于VC下的多媒體播放器設計”,首先是初步介紹一些當前的媒體及媒體播放器,然后是詳細介紹一個由本人設計的多媒體播放器軟件。該播放器是基于MFC 集成開發環境下,利用系統的MCI(media controller interface)命令接口來編程。開發出多媒體播放器具有體積小,支持的播放格式多、系統資源占用少、支持播放列表編輯、支持各種視頻格式等功能優勢。關鍵字:媒體播放器;MCI;播放列表;音頻;視頻1 引言多媒體技術的概念和應用出現于20 世紀80
3、 年代初期,經過數十年的發展,并且隨著計算機科學網絡的普及和多媒體技術的發展,多媒體技術已成為計算機領域發展的熱點技術,針對目前各種媒體格式,如何簡單方便的播放各類媒體已成為人們普遍關注的問題,從而媒體播放器的開發也變得相當重要。1.1 課題研究的目的和技術發展的現狀1.1.1 研究本課題的目的隨著技術的發展,多媒體素材類型也在增多,包括音頻、視頻、圖像、動畫等,由于音視頻、圖像等的信息容量大,受硬件條件限制,以往多媒體應用并不廣泛,隨著硬件技術的不斷提高,多媒體技術已為各類人員廣泛使用,開發多媒體軟件、網絡課程、網站、應用軟件、管理項目等均需利用多媒體素材,因此開發制作這一播放器具有很現實的
4、意義,與其它多媒體播放器相比較,這一多媒體播放器具有功能較為強大、占用空間小、占用系統資源少的特點,它與現有多媒體資源應用狀況緊密結合,既具有很強的直觀感,又不失一般性。1.1.2 技術應用的基本現狀Microsoft公司1998年推出了Visual C+6.0,它是支持Win32平臺應用程序(application)、服務(service)和控件(control)開發的可視化編程的集成環境。與VC+5.0的最大不同之處是它的幫助功能更強大,MSDN(Microsoft Developer Net- working)為包括VC+6.0在內的所有微軟的程序產品提供在線幫助;另外,類的對象的可用成
5、員函數、成員變量及函數的參數類型與個數都能動態顯示在屏幕上,用戶無須記住那些復雜而又枯燥乏味的函數名及復雜的參數,這無疑使得用VC+編程更加容易。所以VC+6.0可謂是Microsoft 公司的王牌產品,編程功能強大而贏得廣大程序員的偏愛。多媒體技術已經在如下若干方面開展了有效的應用:多媒體管理信息系統、展示系統;多媒體電子出版物(Title);計算機輔助教學、教育培訓;計算機藝術制作、設計;計算機娛樂游戲、雙向電影;協同工作。有以下三大發展趨勢:進一步完善計算機支持的協同工作環境;智能多媒體技術;把多媒體信息實時處理和壓縮編碼算法集成到CPU 中。1.2 論文完成的主要工作根據學習和研究,此
6、多媒體播放器的開發是基于VC+MFC的對話框,再利用Windows MCI(Media Control Interface)控件和VC+6.0自帶的ActiveX 控件Windows Media Player來實現各類媒體格式的播放及程序界面處理。首先確定要解決的問題是要弄清楚MCI 函數與命令消息的名稱類型和功能;其次是通過分析媒體播放的具體過程,在打開媒體設備的過程中應用程序需要做哪些事情,以便在應用程序中加入對這些過程支持的代碼;在對應用程序的流程有了大致的輪廓以后,再開始考慮程序框架的設計,應用程序外觀的設計;最后也是最關鍵的就是編寫實現播放媒體的代碼將播放器的基本功能實現,緊接著就是
7、程序的調試和完善。1.3 本論文中的重點本論文中的重點是對Windows Media Player控件的應用,Windows Media Player 控件是微軟公司推出的用于多媒休程序設計的控件,它提供了非常完善的音頻和視頻媒體文件的回放功能,能支持多種文件格式,從最常見的WAV 文件和AVI 文件到使用MPEG 壓縮格式的VCD 視頻文件,都可以正常地進行播放。控件能根據文件后綴進行自動判別設備類型,并完成相應的控制。因此,若正在編寫的應用程序需要提供多媒體支持,那么使用Windows Media Player控件是一個很好的主意。事實上,很多優秀的多媒體應用程序,其內部的多媒體回放就是利
8、用Windows Media Player控件來實現的,只要精心地去設計應用程序的用戶界面,我們一樣可以開發出功能齊全、外觀漂亮、具有相當水準的多媒體播放器。使用Windows Media Player控件開發多媒體應用程序可以大大提高多媒體開發效率,只要設置控件的File.Name屬性,確定該控件要打開的媒體文件名稱,然后執行RUN方法就可以對該媒體文件進行播放;通過設置Selectio.End和Selection- Slart的值,可以實現播放某一段媒體流;還能用鼠標Click相應的按鈕完成播放、停止、暫停、保存列表、清空列表、刪除當前等功能。2 基本功能描述 多媒體播放軟件現在幾乎成為每
9、一臺家用計算機的裝機必備軟件,比較流行的有快播、暴風影音以及百度影音等等,通過這些軟件能夠播放RM、RMVB、MP3、MPEG、DAT等多種格式的多媒體文件。這些商業軟件在功能上已經做的相當完備,也符合大多數普通消費者的的胃口,但很多人電腦里總是安裝了多種播放器,因為不同的播放器有不同的特點,并不是每個人都執著于用某一款播放器,因此設計一款符合自己使用習慣的播放器是很可行的。 使用VC+6.0強大的MFC、AppWizard、Class Wizard和其中的多種控件可以很方便地建立各種應用軟件。同時想要實現更高級更復雜的功能,也可以借助ActiveX控件資源,用這些現有的控件資源,可以省去自己
10、編程的復雜過程,從而實現更高級的功能。本次課程設計要使用VC+6.0自帶的一個ActiveX控件Windows Media Player控件,建立自己的多媒體播放器。 此多媒體播放器具有打開文件、播放、暫停、保存列表、清空列表、刪除當前、退出、靜音等基本播放功能,并且可以播放:*.mp3,*.wma,*.rmvb,*avi等格式的音頻視頻文件。同時還具有自制的可隱藏的播放列表,并且可以在播放模式中選擇順序播放、隨機播放、單曲循環三種方式。同時,我也添加了保存列表的功能,當下一次打開時能保留上一次保存的播放列表,當然也添加了清空列表和刪除當前的功能,更具人性化。3 設計思路根據各個按鈕控件功能以
11、及Windows Media Player控件的特點,首先要在頭文件中將CWMPControl,CWMPSettings等類的對象的綁定以及定義,在后面的程序中需要調用這些類的成員函數。對于打開文件按鈕,需要調用通用文件對話框類,并利用listbox中的AddString函數把選中的文件添加到播放列表中,在MFC學習中有涉及。對于一些基本的功能的實現,如播放、暫停、全屏、音量增大、音量減小、靜音、快進、快退等功能,主要調用CWMPControl和CWMPPlayer類中的成員函數來進行實現。對于播放列表,這次設計使用了SetWindowPos函數來改變一個子窗口彈出的尺寸和方向,并一些相關的函
12、數實現了保存列表、刪除列表、刪除當前的功能。對應播放列表,我還添加了播放模式選擇的功能,提供了順序播放、隨即播放、單曲循環三種選擇。這當中運用的ontimer()函數和settimer()函數來控制播放模式。參照以上的設計思想,流程圖如圖1所示: 圖1 流程圖4 軟件設計4.1設計步驟首先,打開Microsoft Visual Studio6.0軟件,新建一個工程如圖2所示,以HuangJianfei為工程名,然后將此工程定義為基于對話框的MFC應用程序如圖3所示,點擊完成就成功建立了一個基于對話框的工程。圖2 工程建立圖3基于對話框的MFC程序在建立好工程之后,首先是Windows Medi
13、a Player控件的添加:建立空白對話框之后,在對話框的空白處單擊鼠標右鍵,選擇Insert ActiveX Control菜單項。選擇Windows Media Player控件,如圖4所示。加入控件后,此時該控件與該對話框并沒有聯系,需要對其進行變量的關聯。圖4 Windows Media Player控件的添加添加完該控件之后可以發現,該控件與右邊控件工具欄添加的控件的形式與功能完全不同,是一種更為高級的控件,將該控件名改為IDC_player,如圖5所示:圖5 Windows Media Player控件雖然已經添加了該控件,但是可以發現,該控件并沒有與工程中的對話框發生任何聯系,所
14、以需要對其進行變量的關聯,所屬類為HuangJianfei類,變量類型為CWPPlayer4如圖6所示:圖6 關聯變量 關聯變量之后,才算是真正的添加完了該控件,可以發現在關聯變量之后,控件工具欄多了Windows Media Player控件的選項,并且在Source Files中增加了17個類,相應的頭文件也增加了17個,如圖7所示:圖7 添加控件后的變化其中最主要的類為Cwmpplayer4,Cwmpcontrols,Cwmpmedia,Cwmpplaylist,Cwmpsettings五大類。Cwmpplayer4類主要是關于對其他類的對象的調用以及基本的控件功能的實現,提供了與Win
15、dows Media Player控件進行交互的基本方法,其中部分成員函數還能夠進一步獲取得到其他相關類對象的實例;Cwmpcontrols類主要是對控件的更多的操作;Cwmpmedia類主要是對于媒體文件資源的一些操作;Cwmpplaylist類主要是關于播放列表的操作;Cwmpsettings類主要是對于媒體文件中的一些基本設置的操作。對于該控件的添加以及內部函數的理解需要較多時間熟悉,添加完此關鍵控件之后,進行界面的設計。4.2界面設計首先是打開按鈕,用于媒體文件的打開。然后依次是,播放、暫停、保存列表、清空列表、刪除當前、隱藏/展開、靜音、播放、停止、退出等按鈕。對其進行變量的關聯,以
16、及ID的修改,修改結果如表1、表2所示:表1 控件ID以及關聯變量控件Caption按鈕ID關聯變量類型關聯變量名稱WMPlayerIDC_playerCWMPlayer4m_HuangJianfei表2 控件ID以及對應響應函數控件Caption按鈕ID消息響應函數打開IDC_OPENOnOpen()播放IDC_PLAYOnPlay()暫停IDC_PAUSEOnPause()保存列表IDC_SAVELISTOnSavelist()清空列表IDC_DELLISTOnDellist()刪除當前IDC_DELLISTCUROnDellistcur()雙擊播放列表IDC_LIST1OnDblclkL
17、ist1()隱藏/展開IDC_ONLISTOnOnlist()列表框IDC_LIST1OnDblclkList1()靜音IDC_MUTEOnMute()表3 控件ID以及對應響應函數控件Caption按鈕ID消息響應函數停止IDC_STOPOnStop()退出IDC_EXITOnExit()關于IDC_ABOUTOnAbout()以上為有對應控件的對象的關聯,除了有對應控件的,還需要有Windows Media Player控件所生成的17個類中的幾個重要的類進行對象的定義,可知,對于成員對象的定義和成員函數的聲明都放在頭文件中,此次設計共主要用到其中3個類 ,因為設計了一個退出提醒彈出框,所
18、以也要對其定義,具體如表3所示:表4 其他類及對應對象類名對象名類名對象名CWMPControlsm_ControlCWMPPlaylistm_PlaylistCWMPMediam_MediaCStringm_PathNameCWMPSettingsm_SettingCString m_FileName除了對各個控件關聯變量以及消息響應函數,還要對對話框類進行消息響應函數的關聯,因為此次設計中添加了播放模式選擇的功能,所以需要用到WM_TIMER消息響應函數以及SetTimer()和OnTimer()函數來實現這項功能,將對話框類進行該消息響應函數的關聯并書寫程序。添加方法如圖8所示。圖8 添
19、加WM_TIMER消息響應函數 最終得到各個空間分布后的界面如圖9所示:圖9 多媒體播放器界面除了以上主對話框外,我還對ABOUTBOX進行了重新設計,也自制了一個Check對話框,其中ABOUTBOX如圖10所示。Check對話框是在用戶點擊退出按鈕自動彈出的提醒窗口,主要用于防止用戶誤按關閉按鈕導致程序關閉,有利于用戶的使用,增強軟件的友好性,如圖11所示。圖10 修改后的ABOUTBOX對話框圖11 提醒對話框關于菜單的制作,首先,需要在ResourceView中加入資源Menu,后增加對應的菜單項以及菜單自己布局,下拉菜單則需要和按鈕關聯,其方法是將其ID和按鈕的ID一樣,菜單布局圖1
20、2所示。圖12 菜單欄4.3關鍵功能的實現對于各個函數的介紹,本論文以關鍵代碼以及注釋的方式進行介紹,首先介紹主對話框中函數的實現以及說明:(1)Onopen(); /打開函數void CHuangJianfeiDlg:OnOpen() 其中難點在于對于陌生函數的理解,由于類數目較多,各類又有各自不同的成員函數,運用起來比較困難。除了調用通用文件對話框和較為熟悉之外,其他的函數都是平時沒有見過的。播放列表中獲取路徑名是靠的添加主要依靠于GetNextPathName()函數,而 m_ListCtrl.AddString()函數是將項目名添加到播放列表中。(2)Onlist();隱藏/展開播放列
21、表按鈕函數和OnDblclkList1();播放列表函數:int flag=0;void CHuangJianfeiDlg:OnOnlist() 對于隱藏/展開播放列表按鈕,設計在那的功能是運行軟件時播放器的播放列表是展開的,當點擊按鈕時,播放列表隱藏。為了實現這個功能,我將播放列表LIST1和播放列表按鈕關聯起來,關系設為控制。為此,在程序定義了一個全局變量flag,將其設為一個標志,在初始化時定義窗口無相對位移,當點擊按鈕是,窗口位移,因此就實現了播放列表的隱藏和出現的功能。而對于播放列表,則要求它實現雙擊播放功能,所以對列表控件增加一個消息映射,并選擇雙擊消息函數響應,如圖13所示。在其
22、中編程時也加入了執行響應函數SetTimer(),當點擊函數時就開始創建計數器,以便實現播放模式的功能。圖13 播放列表消息映射函數設置具體函數如下所示:void CHuangJianfeiDlg:OnDblclkList1() (3)播放函數及其他多媒體播放控制按鈕void CHuangJianfeiDlg:OnPlay() /播放void CHuangJianfeiDlg:OnPause() /暫停void CHuangJianfeiDlg:OnStop() /停止(4)播放模式 播放模式的選擇需要用到WM_TIMER消息如圖14所示,以及適時調用SetTimer()和OnTimer()函
23、數。初始化時默認設置為順序播放,當雙擊播放時就開始創建計數器,每1秒就執行以下OnTimer函數。而OnTimer函數就會獲得播放狀態,如果當前的播放完了,就檢測單選按鈕在哪,從而選擇執行哪個程序。如果是順序播放,就自動執行下一項目;如果是隨機播放,就在“列表的文件數”中產生一個隨機數,然后執行;而如果是單曲循環,那么就一直執行當前文件。圖14 M_TIMER消息添加 初始化(在OnInitDialog()函數下)程序如下:m_ListCtrl.SetCurSel(0); /選擇第一行(CButton*)GetDlgItem(IDC_RADIO1)->SetCheck(true); /默
24、認播放模式為順序播放計數器函數OnTimer程序如下:void CHuangJianfeiDlg:OnTimer(UINT nIDEvent) (5)Onabout()和Onexit()函數因為調用自身編輯的對話框并且修改了工程中的ABOUTBOX資源,所以也要對其進行一定的修改。首先,是對Onabout()函數的修改:void CHuangJianfeiDlg:OnAbout() 其次,是對Onexit()函數的重載。對于添加自制的對話框,制作方面較為簡單,其函數如下:void CHuangJianfeiDlg:OnCancel() (6)菜單欄的添加制作以及功能 菜單欄的制作和添加不難,只
25、要將其對應到對話框中即可,文中不再贅述。各個菜單中的菜單項的功能,只要將對應的菜單項改成與對應功能的按鈕控件的ID相同即可方便快速地實現。5 總結與心得體會 經過這次畢業設計,讓我對于MFC編程的方法有了進一步的認識。開始看到VC+選擇了一個感興趣的的題目基于VC下的多媒體播放器設計,讓我無從下手,不知道如何用VC+做出一個視頻播放器的靜態界面,更不知道要如何做出一個播放器并且還要具有播放視頻音頻的真實效果,其他的功能也都要實現,剛開始覺得這個課題很難,因為當時大三下學期學的VC+已經過去半年多了,而且當時是在準備考研,所以學的不扎實。 接觸課題開始做后,選用相對簡單的Windows Medi
26、a Player控件,于是在網上查了一些關于Windows Media Player控件的,結果按照網上說的方法來根本無法實現,所以在頭兩天是在摸索中,耗費了很多時間才拾起當時學的一些基本知識。 添加了Windows Media Player這個控件之后會添加17個類,數目眾多的類具有非常強大的功能,不過都不了解。對它建立了類向導之后,很多變量如m_ListCtrl、m_WMPlayer、m_FileName、m_PathName都要手動加入到頭文件“CHuangJianfeiDlg類”里面去,開始不知道,結果怎么檢查都提示這些變量未定義,而且定義以后還是提示錯誤,最后才知道正確的定義方法。
27、靜音處理這點上我有所創新,因為一般在做靜音的時候都是只能靜音,再次點擊的時候不能回復原來沒有靜音的狀態,我在里面加入一個選擇循環,不斷在靜音和恢復之間切換,在靜音前先對當前的音量值進行保存,而后再靜音,這樣就真正的實現了播放器靜音的功能。 在做“上一首”、“下一首”時候,當光標指向第一個列表文件的時候,再次點擊上一首的時候,結果提示錯誤終止運行。結果調試了好久都沒弄好,最后才知道調用一個“GetCount()”函數的時候,其數值是(N-1),不是N,這個跟C語言語法一樣,在定義數值的時候,都是從0開始。結果改為“GetCount()-1”便順利實現了。 VC+有個缺點,就是每次建立類向導后,一
28、旦刪除類向導后總是還要手動刪除該類向導代碼,還要刪除頭文件里的變量,不然總是提示錯誤,這也是VC的一個不盡人意的地方。 我結合了自己在網上搜索的資料,做好了整個多媒體播放器的整體設計,確定了軟件的框架、主要構件以及構件之間的關聯,而后由總體設計逐漸深入完成軟件的詳細設計和開發過程。完成多媒體播放器之后,我深刻的體會到系統構架和設計模式的重要性。代碼的組織都是非常的重要,這直接關系到后期的軟件維護。編寫代碼更加有條理,才會更加符合軟件工程的標準。 整個程序設計我做了十幾天,花了很多工夫,想起當時沒有好好學習VC+的課程知識,現在做起來才知道多么的浪費時間,很多小知識點卻耗費了大量的時間去糾結。最
29、后,終于做完了這個多媒體播放器,實現了設置的功能,感覺整個過程不像老師所說的“視頻播放器最簡單”,雖然很多代碼現成的,但是關鍵是項目繁瑣,加起來很麻煩,瑣碎。這次是一個很好的機會,讓我再次拾起了忘記了的知識,也體會了程序員的艱辛,但是這里面卻很快樂,眼看著自己設定的一個個按鈕都實現了功能,確實是一種很大的快樂,汗水也是值得的。6致謝 首先我要感謝的是我的同學石軍紅,感謝他借給電腦,讓我把他的電腦做成windows XP系統,才能裝上我需要的軟件Visual C+6.0,才使得我的畢業設計得以完成。還有我要感謝的是我的指導老師黃勇老師,感謝他給我的指導,感謝他不厭其煩的提醒并催促我們要花時間來做
30、畢業設計。我還想感謝的是沈峰老師,感謝他給我在畢業設計中出現的有關VC方面的問題作出建議和意見。7參考文獻1 高志偉.Visual C+程序設計教程與上機指導.北京大學出版社.20062 羅斌.Visual C+編程技巧精選500例.中國水利水電出版社.20053 宋坤.Visual C+開發技術大全.人民郵電出版社.20074 趙輝.Visual C+系統開發實例精粹.人民郵電出版社.20055 王洪濤.深入剖析Visual C+編程技術及應用實例.人民郵電出版社.20036 張玉玲.Visual C/C+系統開發典型實例解析.20077 揣錦華.面向對象程序設計與VC+實踐M .西安電子科
31、技大學出版社.20058 鄭阿奇.Visual C+教程M .機械工業出版社.20049 周長發.Visual C+.NET多媒體編程M .電子工業出版社.200210 王育堅.Visual C+面向對象編程教程.第2版.清華大學出版社.200811 嚴華峰等.Visual C+課程設計案例精編.中國水利水電出版社.200412 王維玉等.Visual C+高級編程技術精粹.科學出版社.20088 附錄8.1調試報告在設計過程中出現了許多錯誤,利用VC+6.0中的編譯器進行錯誤的查找,根據提示的錯誤,對處錯誤進行改正。小錯誤較多在此不贅述,都是一些與未加對應頭文件,未定義正確變量名有關的小錯誤
32、,也較容易糾正,下文將敘述調試過程中的錯誤或不足以及改正辦法。(1)問題一 當運行播放器程序時,出現的界面十分單調,所以我想要給播放器加個皮膚。加皮膚前界面很難看而且很單調,加完皮膚后就比較好看了,如下圖15所示:圖15 加皮膚后(2)問題二 運行我制作的多媒體播放器時,播放模式是播放完一首歌或播放完一部AVI格式的電影后就停止了,也就是沒有設置初始的播放模式。此狀況如圖16所示:圖16 沒有設置初始播放模式在OnInitDialog()函數下加入代碼: m_ListCtrl.SetCurSel(0); /選擇第一行(CButton*)GetDlgItem(IDC_RADIO1)->Se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 助理廣告師考試消費市場趨勢分析試題及答案
- 太原社區面試題及答案
- 全科醫學試題及答案詳解
- 地理西亞測試題及答案
- 2024年國際商業設計師考試備考要點試題及答案
- 助理廣告師考試數據分析基礎試題及答案
- c語言測試試題及答案
- 商業設計師考試全新試題及答案揭曉
- 2024年職稱考試紡織品檢驗問答試題及答案
- 破解國際商業美術設計師考試難題試題及答案
- 政務新媒體管理培訓
- 智能垃圾分類答辯
- 2024年湖北省武漢市中考英語真題(含解析)
- 2024年國家公務員考試《行測》真題卷(副省級)答案及解析
- 2005室外給水管道附屬構筑物閥門井05S502
- 浙江省寧波市鎮海中學2025屆高三數學下學期適應性考試試題含解析
- 家長寫孩子在家學習情況的發言稿
- 新能源發電技術 課件 第一章-新能源發電概述
- 心理健康《欣賞我自己》課件
- 北師大版八年級數學下冊常考題專練專題09與旋轉有關的最值問題(原卷版+解析)
- 大學生心理素質訓練智慧樹知到期末考試答案章節答案2024年九江職業技術學院
評論
0/150
提交評論