簡易音樂播放器.

上傳人:小** 文檔編號:63563684 上傳時間:2022-03-19 格式:DOC 頁數(shù):19 大?。?.51MB
收藏 版權申訴 舉報 下載
簡易音樂播放器._第1頁
第1頁 / 共19頁
簡易音樂播放器._第2頁
第2頁 / 共19頁
簡易音樂播放器._第3頁
第3頁 / 共19頁

下載文檔到電腦,查找使用更方便

24 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《簡易音樂播放器.》由會員分享,可在線閱讀,更多相關《簡易音樂播放器.(19頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、使用第三方庫使用音頻引幣FMOD. FMODnJ以在如卜網(wǎng)址卜載: htt/vmw.fmod.orgjndex1php/download 木次使川的足Windows 32bit版木.4.30.00下戦完成版,安裝到某個目錄Z下。使用前.要先配萱相關的頭文件和庫文件計算機技術培訓中心L使用第三方庫/l:Tools-OptionsProjects and Solutions-VC+ Directories-Show directories for: 分別填入路徑,如:Include files的路彳仝足:f:developFMOD Programmers API Win32apiincLibrar

2、y files的路徑足:f:developFMOD Programmers API Win32apilibi Todw Tett Anarpe Window He4pAttach to ProcCTi.Ctri*Alt*Pto rvcw.Devce Security Manoge-.Dovco EfluJator Mordgor.Connect toCement to.Code Sppet%Ctd-*K, Ctrl BOko Toolbc* It.iv*Add-n ManagerMacrosfind Mere Eterwrs,.DotC/sbor 右iit-Properties-Configu

3、ration Properties-Linker-lnput-AdditionalDependencies在其中填入庫文件的名稱,如:fmodex vc.lib并H在旃應的代碼中include相應的頭文件.如:#in cludeArHfiraM11嚴 AllIj-crr 5pecMvdJ OUeg rUI M-dnvC)wteelX 巧 1 L 1“ * 一:444a wl ilw to add to Zi lac krw“ lb -BuSd5yCakUcie Cccferc4E. 6uadd Ctiv-aMbanCustom Uld Axles.2 3 0AddAdd 幵b “*rcVirC

4、ew OiegrSt 8 OXW rejKt3”etoXiweRcrrcPtQfaOp 24 -J* *-)Mnlh-凹卜巧- id taoarr.h q Sewfce Mcc- M%i(fuvrkp 孑 MiCi/yrrr Q Maeif teyerzJ fcMcwU MtCKl 2沖 “cM“l(fā)gyo0b8 “ *川80(WE . 0#include od. hpptpraffna oncel/ CMub icPl ayerDls 丈1適惟k1469 CMuslcFlayerDls : public CDLaleprotected:FMOD: :System *mSy-;tr z 卩MOD

5、: : Sound *m:c i i FMOD:Channel *mC i - r1mChannel = NULL:1創(chuàng)建一個壘于對話框的項冃.命名為MusicPIayer2、ri MusicPIayer.h的頂端includerf頻引擎的頭文件:#inelude 3、為MusicPIayer.h?加依籟項:fmod vc.lib4、為class CMusicPIayerDIg添加如下的成員:FMOD:System wmSystem; FMOD:Sound *mSound; FMOD:Channel *mChannel;5、編寫音頻引翠的初始化代碼/ MusicPlayerDlg.cppll,

6、BOOL CMusicPlayerDlg:OnlnitDialog()省略/TODO: 4此添加額外的初始化代碼初始化咅頻引擎系統(tǒng)FMOD:System_Create( &mSystem ); mSystem-init( 200, FMODJNIT_NORMAL. 0 ); mSound = NULL; . 0/ MusicPIayerDIg.h 中/為class CMusicPIayerDIg添加個成員隨數(shù)聲明:/ filename :你文件路彳仝void PlayMusic(const char* filename);/ MusicPIayerDIg.cpp111定義PlayMusic函數(shù)

7、void CMusicPlayerDlg:PlayMusic(const char* filename) 如果冇聲道正在播放,停止播放if( mChannel != NULL)mCha nn el-stop();如果m Sound不為空釋/AmSoundif( mSound 匚 NULL )mSound-release();mSystem-createStream( filename, FMOD DEFA mSystem-playSound( FMOD CHANNEL FREE, SmChannel); . 0計算機技術培訓qP心,為對話梅添加個Button,并H把HCaption改為“Pla

8、y 01.mp3M . 件改名為O1.mp3JiL變制到MusicPIay項冃所fT的口錄 匸 雙rlrPlay O1.mp3添加單擊響應。/ MusicPIayerDIg.cpp 屮void CMusicPlayerDlg:OnBnClickedButtonPlayonemusic()PlayMusicC01.mp3 J;運行.并忖點擊一下按鈕。把-首音樂文Buttoe0 MuiicP1yera| Ol.fTp2v awcicBwc M Edt Comrc- 詡 Combo Boa HI lift Bow n Grop BonAm dUTi 畫CCTLO 3D Horzcntjl SereI

9、I &or 國 VertK;al Sroll Gar4 Slider Control Spin Control ftrorew Ccerol Hot Key List Control *re CorelKpnfe計算機技術培訓t心#添加個List Box利個Button并4對石控件右泄屈件.修改其加件值修改左的值如衣所示:List BoxButton屈性名 帕性值IDIDCJJ ST_MUSICSCaption Add MusicIDIDC_BUTTON_ADDPQV01.rn)3AcdMv 火 |PC Check Box*lCcrrolComoo Box碣迄III Group Bak 儈 R

10、edo ButtonAil Static Text SR Picture Control 麗 Hcxirotnal Sell S Vsgl icrol Bar o- Slider Corclc KAn*wior*cCojren, (ff rotator not reo-rQ -CaCBC Controlvanefatefjam. rtj5tw*MPCSCrtroi P: !CCjjy_KtCSCategory: ControlVariable name: mListBoxMusicsCUstCcxVcorol tzpeCortB rooert*機技術培訓qp心乂| PK Ol.n301.-T0

11、303.mp301.TO3雙擊名為”Add Music-的Button.添加單擊響應:/ MusicPIayerDIg.cpp中void CMusicPlayerDlg:O nBnCllckedBuMonAdd()mListBoxMusics.AddString( T(M01 .mp3”); 嘗試運彳幾巾擊按鈕我們的冃的:1 點 ikAdd Music2、彈出個打開文件對話框3、選中文件4、添加到List Box中去(ListBox/*文件的完整路彳乞)打開或者保存文件對話框可以用CFIIeDialog-其構造函數(shù)如卜:explicit CFileDialog(BOOL bOpenFileDi

12、alog, / TRUE for FileOpen, FALSE for FileSaveAsLPCTSTR IpszDefExt = NULL,LPCTSTR IpszFileName = NULL,DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,LPCTSTR IpszFilter = NULL,CWncT pParentWnd = NULL,DWORD dwSize = 0.BOOL bVistaStyle = TRUE);修改Add Music Button的甲擊響血函數(shù)/ MusicPIayerDIg.cpppvoid C

13、MusicPlayerDlg:O nBnClickedButtonAdd()CFileDialog dlg(TRUE,/TRUE打開文fh FALSE保存文件0,默認打開的文件的后綴0,默認的文件名.0農(nóng)示沒育默認文件4|2f標志用默認的4|2就行_TMusicFileCmp3)rmp3)/文件過濾.只保留厲綴為mp3的文件if( dlg.DoModalQ = IDOK )/ 顯示對話框返回文件名/ CString fileName = dlg.GetFileName(); 返回完整的文件路徑CString fullPath = dlg.GetPathName(); mListBoxMusic

14、s.AddString( fullPath ); 處成 式込行,并S加mp3 z f i機技粗咅訓中心List Box-右說屬性 卅件LBN一DBCLICK添丿JUXZ擊響應川P戍擊Lis活ox的咅樂文們名時,就播放相應的音樂。編寫響應p*l數(shù)。Prcpert*e斗 XIOC LIST MUSICS (Uxboa Coni 麝MEL機技術培訓中心CurCopyAdd Evwt HandlerInsert ActiveX Controls.Add Clan.Add V,rib taAfign TopsLBTV_KILXXn-X LBN.&CLCANC LBN.SCLCM4K LBh.SfTFOC

15、U NMJMEMEaCheck Mnemorwcsvoid CMusicPlayerDlg:OnLbnDblclkListMusics()Prop# woe/ 11標的char字符小/丨1標電匕 /空PlayMusic( cstyleFileName );/播放疔樂if( mListBoxMusics.GetCount()0 ) return;int index = mListBoxMusics.GetCurSelQ; if( index = -1 )/ index = -1 衣示沒冇逑屮 return;獲得當前選中的字符串 CString fileName; mListBoxMusics.G

16、etText( index, fileName );轉化成cha廣字符中 char cstyleFileNameMAX_PATH;WideCharToMultiByte( / 慶寬字符到char的轉化 CP_ACP,/ 轉換成 ANSI 碼0,/歡認為0的標応fileName.GetBuffer(O), / J京寬了符巾 tileName.GetLength()+1f / 字條串長度 cstyleFileName. MAX PATH, NULL; NULL);只算機技術培訓中心丿添加 個進度條Process Control,來控制疔樂的播放進度。 修改進度條屈件Process ControlI

17、DIDC PROGRESS右鍵進丿復條添加變雖I P&V 01-HO3Process ControlCategoryVariable name mProcessC3 Bvttor UT Check Bo 2 Edit Control 旦 Camhe Bom SB IkT Boa ft Of cop Bqa 席 lUdb Butler * 2ttir Txt 囲 Pkxure Control PR Honrontn Scroll B* 趨 Vertical Sc*cil Bar O- Sider Ccrtro 6 Spin Cortiol TlfogrdZonlron P HOC 5 口 Lh

18、Control fe TreCortrol Tab ConerolComment計算彳幾技術培訓qAdd Num.成員變屆值Control少宅翊Process Comrol右饞屬性 事件響應添加NM_RELEASEDCAPTURE 響 應,表示拖動進度條,松開時的 響應。m聽 01 rTp3Q iUDMRNHeft 畫l 士毋B二 BCMJttcPiSoigNM CUCTOMDI進度條用來控件聲樂的播放進度CopyoweDdctecn)o rk 7ouipm (row: Bold J計算機技術培訓q訟j町以便用“圧時器函數(shù),圧時器兄個函數(shù),但址它毎隔泄的時間間隔就執(zhí)行 次,這個時間間隔可以由我

19、們自已來指定。gv 01 fro?対石対話柜 右鍵屬性A消息 WM_TIMER OnTimerU.A ,CutCopy心3XDdHeAddHndLInsert ActiveX ControL.牝Ad g JWe to C5rtmtAlign Ufe7FMge TqqCheck MfiemoRicsJ - /piAM RBCTONDCAMAM.RENDtRALLfAM.RENOERFOR AM.StTCVRSORAM SCTFOCU5AM.SSnNGCW W.SHOWWtNDAM.SIZSCllPfiOAM.SC1NGAM.SPOOIERGT;AM.SYSCMAR AM.scotona AM.5

20、YSC0MMAI OrSyfComnwnd計尊機技術i罰|中心AM.SYSKEVDO.V AM.SSWHJP AMJCAADAM_TWMECHAhAM TVcl(CHANgetPosition( &curPosition, FMOD_TIMEUNIT_MS ); 、丄條的位宣-一mProcess.SetPosf curPosition );訐算嘰技術:培訓/ MusicPlayerDlg.cpp,|,修改O nTimer用數(shù)void CMusicPlayerDlg:OnTimer(UINT PTR n ID Event)if( mChannel != NULL)獲得音樂當前播放的位用單位宅秒u

21、nsigned int curPosition;mChannel-getPosition( &curPosition, FMOD_TIMEUNIT_MS ); 卍卅胡條的位月二mProcess.SetPos( curPosition );unsigned int second = curPosition/1000%60; unsigned int minute = curPosition/1000/60%60J CString strTime;運行CDialog:O nTimer(nlDEvenl);strTime.Format( _T(u%d:%dM). minute, sec mStati

22、cTime.SetWindowTextf strTime);機技術培訓I個播放器應該有播放 “初停、“停止”下iT “上忡按鈕Pay 01.*setPaused( false );暫停音樂void CMusicPlayerDlg:OnBnClickedButtonPause() if( mChannel != NULL)mChannel-setPaused( true );停il:音樂void CMusicPIayerDIg:OnBnClickedButtonStopOif( mChannel != NULL)mCha nn el-stop(); 一 -WL 七r-計算機技術培訓中心下-Wvo

23、id CMusicPlayerDlg:OnBnClickedButtonNext()int index = mListBoxMusics.GetCurSel();if( index =1 | index + 1 = mListBoxMusics.GetCount() return;in dex+;CString fileName;mListBoxMusics.GetText( index, fileName); mListBoxMusics.SetCurSel( index );/轉化成cha廣字符笊char cstyleFileNameMAX_PATH;WideCharToMultiByte

24、( / 從寬 7行到char的傳化CP_ACP,/轉換成ANSI碼0,/默認為0的標吉fileName.GetBuffer(O), / 原寬字符巾 fileName.GetLength()+1, / j 條;1 度 cstyleFileName, / 白標的char字符串*MAX_PATH,冃標/ 符;I K度 /NULL,空J /NULL);/ 空7*PlayMusic( cstyleFileName );/播放上一首void CMusicPlayerDlg:OnBnClickedButtonPreview()自己完成甘樂播成器的功能還自保存列農(nóng)、儀入列農(nóng)的功能。叮以蘭試1(2完成。另外,列農(nóng)中的了符申是完鶴的文 件路彳b IE常難看.有什么辦法可 以只在列表中只顯示文件名,但乂 叫以播放到相應的文件呢?廿仙3 IIj Md Mjk J State捉示:可以使用std:map來實現(xiàn) std:map的A體用広對攻白l!住找0-P折I Ps I | S3| 卩訶訥;

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔

相關搜索

關于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!