版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、簡(jiǎn)單音樂(lè)播放器 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)部C+課程設(shè)計(jì)題 目 簡(jiǎn)單音樂(lè)播放器 學(xué) 部 計(jì)算機(jī)科學(xué)與技術(shù) 班 級(jí) 1103 指 導(dǎo) 教 師 李 軍 姓 名 周德群,胡中立 2012年6月13日摘 要音樂(lè)播放器,是目前用戶選擇播放任意格式的音頻文件的軟件,如酷狗、QQ音樂(lè)等。一般的音頻播放器,都可以支持MP3、wave、AU、VOC等文件格式的播放。在此次設(shè)計(jì)的音頻播放其中,可以實(shí)現(xiàn)對(duì)音頻文件的打開(kāi)、播放、暫停、停止、上一曲/下一曲、音量調(diào)控等操作。由于MCI(Media Controller Interface)命令接口編程易于實(shí)現(xiàn),具有體積小、支持的播放格式多、系統(tǒng)資源占有少等優(yōu)點(diǎn),同時(shí)MCI支持播
2、放列表編輯、支持文件的打開(kāi)、保存等功能,所以本課題利用Visual C+ 6.0作為開(kāi)發(fā)環(huán)境,結(jié)合其自帶的MCI函數(shù)庫(kù)和MVC設(shè)計(jì)思想開(kāi)發(fā)一個(gè)簡(jiǎn)潔實(shí)用的播放器軟件,為用戶提供一個(gè)友好的圖形化操作界面。關(guān)鍵詞:媒體播放器;播放列表;音頻;MCI函數(shù)課程設(shè)計(jì)任務(wù)分配表 表1 信息表姓名主要工作組長(zhǎng)周德群負(fù)責(zé)整個(gè)工程設(shè)計(jì)的選材和功能的添加以及代碼的設(shè)計(jì),負(fù)責(zé)工程的功能測(cè)試與修改。組員胡中立負(fù)責(zé)對(duì)話框的設(shè)計(jì)、制作、控件的添加。課程設(shè)計(jì)成績(jī)表表2 成績(jī)表姓名學(xué)號(hào)班級(jí)成績(jī)組長(zhǎng)周德群114329021530631103組員胡中立114330248130541103目 錄前 言1第1章 課題背景和概述21.1
3、 課題背景21.1.1 音頻播放器簡(jiǎn)介21.1.2 目的和意義21.2 課題概述21.2.1 功能簡(jiǎn)介21.2.2 主要工作和理論依據(jù).3 第2章 設(shè)計(jì)簡(jiǎn)介及設(shè)計(jì)方案論述42.1 需求分析42.2 系統(tǒng)功能及結(jié)構(gòu)簡(jiǎn)介42.2.1 系統(tǒng)功能42.2.2 系統(tǒng)結(jié)構(gòu)4第3章 詳細(xì)設(shè)計(jì)53.1 界面設(shè)計(jì)53.1.1 播放器界面設(shè)計(jì)53.1.2 按鈕上的位圖顯示53.2 各模塊功能設(shè)計(jì)63.2.1 各按鈕功能的實(shí)現(xiàn)63.2.2 進(jìn)度條顯示7第4章 設(shè)計(jì)結(jié)果及分析84.1 運(yùn)行結(jié)果顯示94.1.1打開(kāi)文件并播放104.2 結(jié)果分析和不足10總 結(jié)11參考文獻(xiàn)12附 錄.13 前 言音頻播放器(audio
4、player)是一種可儲(chǔ)存、組織與播放音訊檔案格式裝置。常被稱(chēng)為“MP3播放器”(因?yàn)镸P3格式的普遍性),它可以播放很多其他的格式,如WMA,AAC,WAV等。所以,應(yīng)運(yùn)而生的是音頻播放器軟件,能夠?yàn)橛脩舨シ懦R?jiàn)的格式音頻文件。并且,在使用的過(guò)程中,也盡可能設(shè)計(jì)出一些人性化的設(shè)計(jì)。比如,能最小化到托盤(pán)并可以進(jìn)行操作。良好的人機(jī)交互界面,也能給人以美好的感官享受。本次設(shè)計(jì)完成的播放器軟件,能夠支持播放多種格式的音頻文件,常見(jiàn)的如MP3,WMA,AAC,WAV等。對(duì)正在播放的歌曲,可以進(jìn)行暫停、停止的操作,也可以任意添加歌曲并選擇播放。此播放器也可以最小化和最小化到托盤(pán),方便用戶在播放音樂(lè)的時(shí)候
5、,免受打擾。也可以在最小化到托盤(pán)的狀態(tài)下,退出播放器。本次課程設(shè)計(jì),主要是檢驗(yàn)這一學(xué)期,我們通過(guò)對(duì)MFC Windows應(yīng)用程序設(shè)計(jì)這門(mén)課學(xué)習(xí),能夠把所學(xué)的知識(shí)應(yīng)用到實(shí)際的能力。第1章 課題背景和概述1.1 課題背景1.1.1 音頻播放器簡(jiǎn)介音頻播放器(audio player)是一種可儲(chǔ)存、組織與播放音訊檔案格式的裝置。常被稱(chēng)為“MP3播放器”(因?yàn)镸P3格式的普遍性),它可以播放很多其他的格式,如WMA,AAC,WAV等。一些格式會(huì)跟有限制性的技術(shù) DRM合并, 比如Janus和FairPlay, 一般是一些付費(fèi)下載網(wǎng)站的一部分。其它一些格式則是完全的專(zhuān)利自由或者在另外一些方面開(kāi)放,比如O
6、gg Vorbis,F(xiàn)LAC,Speex (Ogg開(kāi)放多媒體工程的所有部分),以及Module file格式。1.1.2 目的和意義通過(guò)獨(dú)立設(shè)計(jì)完成制作一個(gè)播放器軟件,更加理解了MFC對(duì)話框的構(gòu)成框架,以及各個(gè)類(lèi)之間數(shù)據(jù)傳遞的關(guān)系。同時(shí),對(duì)鼠標(biāo)和鍵盤(pán)的多消息響應(yīng)有了進(jìn)一步的認(rèn)識(shí)。在設(shè)計(jì)制作的過(guò)程中,C+語(yǔ)言是基礎(chǔ),在熟悉MFC Windows 程序設(shè)計(jì)的同時(shí),也了解了C+程序語(yǔ)言設(shè)計(jì)。1.2 課題概述1.2.1 功能簡(jiǎn)介本次設(shè)計(jì)完成的播放器軟件,能夠支持播放多種格式的音頻文件,常見(jiàn)的如MP3,WMA,AAC,WAV等。對(duì)正在播放的歌曲,可以進(jìn)行暫停、停止的操作,也可以任意添加歌曲并選擇播放。此
7、播放器也可以最小化和最小化到托盤(pán),方便用戶在播放音樂(lè)的時(shí)候,免受打擾。也可以在最小化到托盤(pán)的狀態(tài)下,退出播放器。本次課程設(shè)計(jì),主要是檢驗(yàn)這一學(xué)期,我們通過(guò)對(duì)MFC Windows應(yīng)用程序設(shè)計(jì)這門(mén)課學(xué)習(xí),能夠把所學(xué)的知識(shí)應(yīng)用到實(shí)際的能力。1.2.2 主要工作和理論依據(jù)MFC類(lèi)庫(kù)將所有圖形用戶界面的元素如窗口、菜單和按鈕等都以類(lèi)的形式進(jìn)行了封裝,MFC AppWizard向?qū)Ц鶕?jù)繼承性利用MFC派生出自己的類(lèi),并對(duì)Windows應(yīng)用程序進(jìn)行了分解,利用MFC派生類(lèi)對(duì)應(yīng)用程序重新進(jìn)行組裝,同時(shí)還規(guī)定了應(yīng)用程序中各個(gè)MFC派生類(lèi)對(duì)象之間的相互聯(lián)系,實(shí)現(xiàn)了標(biāo)準(zhǔn)Windows應(yīng)用程序的功能,這就是向?qū)?/p>
8、的所謂MFC應(yīng)用程序框架。每個(gè)MFC類(lèi)都包括了一些函數(shù),函數(shù)放到類(lèi)中,符合C+編程方法。這些函數(shù),必須通過(guò)類(lèi)定義對(duì)象才能使用。 在本次設(shè)計(jì)中,首先,理清課程設(shè)計(jì)和編寫(xiě)程序的思路,明確程序所要用到的函數(shù),并做好了解。然后,再利用C+類(lèi)的繼承與派生原理來(lái)構(gòu)造所需要的類(lèi),編寫(xiě)實(shí)現(xiàn)每項(xiàng)功能的詳細(xì)代碼。利用MFC提供的菜單資源來(lái)創(chuàng)建菜單,通過(guò)類(lèi)向?qū)Ы㈩?lèi),函數(shù),或者消息響應(yīng),來(lái)實(shí)現(xiàn)播放器的各種功能。第2章 設(shè)計(jì)簡(jiǎn)介及設(shè)計(jì)方案論述2.1 需求分析 隨著社會(huì)的發(fā)展,有越來(lái)越多的人接觸電腦,也有越來(lái)越多的人喜歡在上網(wǎng)、工作的時(shí)候,播放一點(diǎn)音樂(lè),娛樂(lè)一下,緩解一下。所以,應(yīng)運(yùn)而生的是音頻播放器軟件,能夠?yàn)橛脩舨?/p>
9、放常見(jiàn)的格式音頻文件。并且,在使用的過(guò)程中,也盡可能設(shè)計(jì)出一些人性化的設(shè)計(jì)。比如,能最小化到托盤(pán)并可以進(jìn)行操作。良好的人機(jī)交互界面,也能給人以美好的感官享受。2.2 系統(tǒng)功能及結(jié)構(gòu)簡(jiǎn)介2.2.1 系統(tǒng)功能此音頻播放器可以播放多格式的音頻文件。在播放的時(shí)候,需要打開(kāi)本地的音樂(lè)文件,選擇想要打開(kāi)的文件,點(diǎn)擊播放便可以播放。在播放的過(guò)程中,如果有事離開(kāi)想要停止播放,可以點(diǎn)擊暫停按鈕,等到需要的時(shí)候,仍然可以點(diǎn)擊播放,繼續(xù)播放。如果需要退出,點(diǎn)擊關(guān)閉按鈕即可。如果想換首歌,點(diǎn)擊下一首或者上一首的按鈕便可以了。2.2.2 系統(tǒng)結(jié)構(gòu)此播放器編寫(xiě)的時(shí)候,利用的是MFC對(duì)話框程序的構(gòu)成框架,然后再利用Wind
10、ows提供的資源,運(yùn)用控件,自己制作了對(duì)話框和人機(jī)交互界面。在制作界面的同時(shí),也制作了各個(gè)按鈕,并完成各個(gè)按鈕的消息響應(yīng),便完成響應(yīng)函數(shù)實(shí)現(xiàn)了功能。第3章 詳細(xì)設(shè)計(jì)3.1 界面設(shè)計(jì)3.1.1 播放器界面設(shè)計(jì)打開(kāi)VC C+6.0新建一個(gè)工程,選擇對(duì)話框。便生成了一個(gè)窗口。然后打開(kāi)ResouceView,點(diǎn)開(kāi)Dialog,插入Dialog,利用控件,繪制各個(gè)按鈕。如圖3-1所示 圖3-1為對(duì)話框添加9個(gè)按鈕(Button),在Styles標(biāo)簽中選中Bitmap屬性。將它們的ID分別為 IDC_PREVIOUS 上一首 IDC_AHAND 前進(jìn) IDC_PAUSE 暫停IDC_PLAY 播放 IDC
11、_NEXT下一首 IDC_BACK 后退 IDC_STOP停止IDC_LIST1 ADDFILE添加 IDC_DELETEFILE刪除IDCANCEL取消 IDC_SLIDE。以實(shí)現(xiàn)對(duì)文件的各項(xiàng)操作。然后,在ClassWizard里為2個(gè)按鈕分別添加變量,分別命名為; IDC_LIST m_list, IDC_SLIDE m_position以對(duì)按鈕進(jìn)行操作。然后為其他的控件添加響應(yīng)函數(shù)發(fā)出單機(jī)消息。3.2 各模塊功能設(shè)計(jì)3.2.1 各按鈕功能的實(shí)現(xiàn)(1)處理“打開(kāi)”按鈕單擊“打開(kāi)”按鈕后,在Onopen()函數(shù)中,首先對(duì)文件類(lèi)型進(jìn)行過(guò)濾,調(diào)用OpenFiles()函數(shù)打開(kāi)對(duì)話框選擇一個(gè)音頻文
12、件,通過(guò)InitPath()函數(shù)獲取文件路徑,通過(guò)InitPath()函數(shù)獲取文件名后,調(diào)用SaveList()函數(shù)在Static Text控件上顯示你所選擇的歌曲文件名,然后再單擊播放按鈕,便可以播放歌曲。 (2) 處理“播放”按鈕單擊“播放”按鈕后,在OnPlay()函數(shù)中,通過(guò)調(diào)用Midi類(lèi)中的Open()函數(shù)獲取剛才選擇的文件路徑以及文件名,調(diào)用該類(lèi)的Midi類(lèi)中的Play()函數(shù)播放歌曲,此時(shí)調(diào)用DisplayInfo()函數(shù)在Static Text控件上顯示正在播放的歌曲,進(jìn)行歌曲的播放,然后利用GetDlgItem()函數(shù)設(shè)置“播放”按鈕不可用。(3) 處理“停止”按鈕單擊“停止
13、”按鈕后,在OnStopBUTTON()函數(shù)中,首先通過(guò)調(diào)用Midi類(lèi)的Stop()函數(shù)停止正在播放的歌曲,此時(shí)的歌曲處于暫停時(shí)的進(jìn)度上,利用GetDlgItem()函數(shù)設(shè)置“播放”按鈕可用。(5)處理“上一曲/下一曲”按鈕單擊“上一曲”按鈕時(shí),在OnNextBUTTON()函數(shù)中,通過(guò)調(diào)用Midi類(lèi)中的Next()函數(shù),停止當(dāng)前播放放的歌曲,并播放當(dāng)前列表中的下一曲?!跋乱磺卑粹o的處理與“上一曲”類(lèi)似。(6) 處理“關(guān)閉”按鈕單擊“關(guān)閉”按鈕后,在OnCloseWindow()函數(shù)中,調(diào)用CDialog類(lèi)的OnOK()函數(shù)將退出對(duì)話框,結(jié)束程序的運(yùn)行。(7)處理“快進(jìn)”按鈕 單擊“快進(jìn)”按
14、鈕時(shí),在OnAhand()函數(shù)中,通過(guò)調(diào)用mci函數(shù)并快進(jìn)播放的歌曲,后退與“快進(jìn)”類(lèi)似。3.2.2進(jìn)度條顯示進(jìn)度條在前進(jìn)的過(guò)程中,其總長(zhǎng)度應(yīng)該為歌曲長(zhǎng)度。如果想要在一首歌播放完畢后,進(jìn)度條加好走完,必須先利用GetMediaLength(nLength, bProgress)函數(shù)獲取歌曲長(zhǎng)度,然后利用UpdatePlayTime(BOOL bProgress)函數(shù)不斷更新歌曲播放的時(shí)間,最后通過(guò)OnTimer()來(lái)實(shí)現(xiàn)。在播放的過(guò)程中,依舊存在一些問(wèn)題。比如,不能通過(guò)雙擊歌曲來(lái)達(dá)到播放的目的。如果想完成“上一曲/下一曲”的操作,在添加歌曲文件的時(shí)候,必須是一次性的添加多首歌曲。如果每次只添加
15、一首,添加多次,便不能完成歌曲之間的更換。第4章 設(shè)計(jì)結(jié)果及分析4.1 運(yùn)行結(jié)果顯示4.1.1打開(kāi)文件并播放點(diǎn)擊“增加”按鈕,選擇想要播放的歌曲,所選擇的文件會(huì)顯示在“播放列表”中。想要播放哪一首,點(diǎn)擊播放即可。點(diǎn)擊“下一曲”按鈕,功能實(shí)現(xiàn)如下圖所示。點(diǎn)擊“上一曲”按鈕,功能實(shí)現(xiàn)如下圖所示。點(diǎn)擊“快進(jìn)”按鈕,功能實(shí)現(xiàn)如下圖所示。點(diǎn)擊“刪除”按鈕,功能實(shí)現(xiàn)如下圖所示。4.2 結(jié)果分析和不足雖然說(shuō)這次的設(shè)計(jì)結(jié)果,從表面上看來(lái),基本功能是實(shí)現(xiàn)了。但依舊還是存在很多不足。最突出的就是進(jìn)度條的問(wèn)題。進(jìn)度條在前進(jìn)的過(guò)程中,其總長(zhǎng)度應(yīng)該為歌曲長(zhǎng)度。如果想要在一首歌播放完畢后,進(jìn)度條加好走完,必須先利用Get
16、MediaLength(nLength, bProgress)函數(shù)獲取歌曲長(zhǎng)度,然后利用UpdatePlayTime(BOOL bProgress)函數(shù)不斷更新歌曲播放的時(shí)間,最后通過(guò)OnTimer()來(lái)實(shí)現(xiàn)。但是在設(shè)計(jì)的過(guò)程中,編譯和連接都沒(méi)有錯(cuò)誤,卻不能運(yùn)行處預(yù)料的結(jié)果,還有明顯的錯(cuò)誤。在網(wǎng)上查閱資料的過(guò)程中,也沒(méi)有找到解決的辦法???結(jié)在為期一個(gè)月的課程設(shè)計(jì)制作中,我們深深的體會(huì)到了團(tuán)隊(duì)合作的重要性,雖然在編程的過(guò)程中我們遇到了很多的困難,但在團(tuán)隊(duì)的合作下都一一克服,在解決問(wèn)題的同時(shí)我們學(xué)到了很多老師上課所沒(méi)有傳述的知識(shí),也讓我們更加熟悉了編程的操作和word文檔的編寫(xiě)。 在
17、這次的課程設(shè)計(jì)中不僅檢驗(yàn)了我所學(xué)習(xí)的知識(shí),也培養(yǎng)了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在設(shè)計(jì)過(guò)程中,與同學(xué)分工設(shè)計(jì),和同學(xué)們相互探討,相互學(xué)習(xí),相互監(jiān)督。學(xué)會(huì)了合作,學(xué)會(huì)了寬容,學(xué)會(huì)了理解,也學(xué)會(huì)了做人與處世。C+作為我們的主要專(zhuān)業(yè)課程之一,開(kāi)始覺(jué)得那些程序枯燥無(wú)味,但在這次課程設(shè)計(jì)后我發(fā)現(xiàn)在自己一點(diǎn)一滴的努力中對(duì)C+程序的興趣也在增加。 可是在制作的過(guò)程中,編程總是運(yùn)行錯(cuò)誤成為了我們非常大的困難之一,常常在悉心時(shí)久的編程后,運(yùn)行出現(xiàn)錯(cuò)誤,往往是越改越錯(cuò),導(dǎo)致此段代碼需要重新編寫(xiě),但在前面代碼的不斷出錯(cuò)與修改的同時(shí),我們也學(xué)到了更多,領(lǐng)悟到了上課所沒(méi)有領(lǐng)會(huì)的
18、知識(shí)點(diǎn),所以在后面的編程中就越編越順。 一個(gè)月前我們還為如何下手感到措手不及。最后還是在老師的耐心分析和指導(dǎo)下完成了課程的思路和工作的分配。比如在調(diào)試時(shí)發(fā)現(xiàn),程序運(yùn)行后一直無(wú)法返回至主菜單,且VC也無(wú)法識(shí)別出程序的錯(cuò)誤,使我們一直困擾多時(shí),后來(lái)經(jīng)過(guò)了討論和分析后解決了此問(wèn)題。本以為最大的難題已經(jīng)解決,但隨之而來(lái)的問(wèn)題遠(yuǎn)比我們想象的要困難的多。 其次在這次課程中我們運(yùn)用到了以前所學(xué)的專(zhuān)業(yè)知識(shí),如;指針函數(shù)的調(diào)用,以及循環(huán)結(jié)構(gòu)的運(yùn)用和各種語(yǔ)句的分配。雖然過(guò)去從未獨(dú)立運(yùn)用過(guò)他們。但在設(shè)計(jì)過(guò)程中帶這問(wèn)題去學(xué)我發(fā)現(xiàn)效率很高。在設(shè)計(jì)之前我們對(duì)學(xué)生管理系統(tǒng)有一定的了解,知道
19、要運(yùn)用到C+的哪些知識(shí),要一個(gè)清楚的思路和一個(gè)完整的程序圖;在程序設(shè)計(jì)時(shí)不要妄想一次就將整個(gè)程序設(shè)計(jì)好。反復(fù)修改,不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路。 最后,作為軟件技術(shù)專(zhuān)業(yè)的一名大學(xué)生,我覺(jué)的做C+語(yǔ)言課程設(shè)計(jì)是十分有意義的,而且是十分有必要的,我們?cè)谡n堂上掌握的只是專(zhuān)業(yè)課的理論知識(shí),而這次課程設(shè)計(jì)為我們提供了很好的實(shí)踐平臺(tái)。讓我們?cè)鰪?qiáng)了動(dòng)手編程,自己調(diào)試,尋找錯(cuò)誤的能力,為以后更好的學(xué)好C+語(yǔ)言提供了基礎(chǔ)。參考文獻(xiàn)1姬濤、周啟生,計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(上冊(cè))Z,北京:中國(guó)傳媒大學(xué)出版社,20102譚浩強(qiáng),C程序設(shè)計(jì)教程Z,北京:清華大學(xué)出版社,20073任哲,MFC Windows應(yīng)用
20、程序設(shè)計(jì)(第二版)Z,北京:清華大學(xué)出版社,2007附 錄void CPlayerDlg:OnAhand() / TODO: Add your control notification handler code hereisPause=true;MCI_STATUS_PARMS mciStatusParms;MCI_PLAY_PARMS mciPlayParms;mciStatusParms.dwItem=MCI_STATUS_POSITION;mciSendCommand(m_wDeviceID,MCI_STATUS,MCI_STATUS_ITEM,(DWORD)(LPVOID)&m
21、ciStatusParms);dCurrentPosition=mciStatusParms.dwReturn;if(m_dLength-dCurrentPosition)<=(m_dLength/16)mciSendCommand(m_wDeviceID,MCI_SEEK,MCI_SEEK_TO_END,NULL);mciSendCommand(m_wDeviceID,MCI_PLAY,0,(DWORD)(LPVOID)&mciPlayParms);elsemciPlayParms.dwFrom=dCurrentPosition+(DWORD)(m_dLength/16);mc
22、iSendCommand(m_wDeviceID,MCI_PLAY,MCI_FROM,(DWORD)(LPVOID)&mciPlayParms);void CPlayerDlg:OnPause() / TODO: Add your control notification handler code hereif(isPause)CString strshow;strshow="當(dāng)前歌曲:"+strFileName+" "+"狀態(tài):暫停"this->SetWindowText(strshow);GetDlgItem(IDC
23、_PAUSE)->SetWindowText("暫停");isPause=FALSE;MCI_GENERIC_PARMS mciPause;mciSendCommand(m_wDeviceID,MCI_PAUSE,0,(DWORD)(LPVOID)&mciPause);elseCString strshow;strshow="當(dāng)前歌曲:"+strFileName+" "+"狀態(tài):播放"this->SetWindowText(strshow);GetDlgItem(IDC_PAUSE)->S
24、etWindowText("播放");isPause=TRUE;if(strFileExt="mid"|strFileExt="MID")MCI_STATUS_PARMS mciStatusParms;MCI_PLAY_PARMS mciPlayParms;mciStatusParms.dwItem=MCI_STATUS_POSITION;mciSendCommand(m_wDeviceID,MCI_STATUS,MCI_STATUS_ITEM,(DWORD)(LPVOID)&mciStatusParms);elseMCI_G
25、ENERIC_PARMS mciResume;mciSendCommand(m_wDeviceID,MCI_RESUME,0,(DWORD)(LPVOID)&mciResume);void CPlayerDlg:OnPlay() / TODO: Add your control notification handler code hereCString strshow;strshow="當(dāng)前歌曲:"+strFileName+""+"狀態(tài):播放"this->SetWindowText(strshow);isPause=tr
26、ue;SetTimer(1,33,NULL);mciSendCommand(m_wDeviceID,MCI_CLOSE,0,NULL);MCI_OPEN_PARMS mciOpen;MCI_PLAY_PARMS mciPlay;mciOpen.lpstrElementName=strFileName.GetBuffer(strFileName.GetLength();mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT,(DWORD)(LPVOID)&mciOpen);m_wDeviceID=mciOpen.wDeviceID;MCI_STATUS
27、_PARMS mciStatusParms;mciStatusParms.dwItem=MCI_STATUS_LENGTH;mciSendCommand(m_wDeviceID,MCI_STATUS,MCI_WAIT|MCI_STATUS_ITEM,(DWORD)(LPVOID)&mciStatusParms);m_dLength=mciStatusParms.dwReturn;mciSendCommand(m_wDeviceID,MCI_PLAY,0,(DWORD)(LPVOID)&mciPlay);m_position.SetRange(0,m_dLength);m_position.SetPos(0);void C
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024家裝裝修合同模板
- 誠(chéng)信苗木購(gòu)銷(xiāo)協(xié)議
- 浙江省七年級(jí)上學(xué)期語(yǔ)文期中測(cè)試仿真模擬試卷5套【附答案】
- 2024工廠承包合同協(xié)議書(shū)
- 簡(jiǎn)易買(mǎi)賣(mài)合同模板2024年
- 廣東省房產(chǎn)交易合同中介版
- 600字標(biāo)準(zhǔn)委托加工協(xié)議書(shū)
- 雙邊工程合作合同范本
- 建筑工程拆除協(xié)議
- 跨國(guó)合資銷(xiāo)售代理協(xié)議
- 小學(xué)英語(yǔ)就業(yè)能力展示
- 心肌病和心肌炎課件
- 《艾滋病毒》課件
- 平陽(yáng)港區(qū)西灣作業(yè)區(qū)防浪導(dǎo)流堤工程海域使用論證報(bào)告書(shū)
- 管道保溫計(jì)算公式
- 錄音行業(yè)的就業(yè)生涯發(fā)展報(bào)告
- 報(bào)廢汽車(chē)拆解工藝流程
- 生化報(bào)告解讀
- 胃癌科普講座課件
- 熔煉車(chē)間工安全培訓(xùn)
- 《多彩的職業(yè)》參考課件
評(píng)論
0/150
提交評(píng)論