版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計說明書</b></p><p> 課程設(shè)計名稱: 軟件綜合課程設(shè)計 </p><p> 課程設(shè)計題目: 音頻播放器程序的設(shè)計與實現(xiàn) </p><p> 學(xué) 院 名 稱: 信息工程學(xué)院 </p><p>
2、 電子信息工程專業(yè) 課程設(shè)計任務(wù)書</p><p> 20 13 -20 14學(xué)年 第 2 學(xué)期 第 1 周- 2 周 </p><p><b> 正文:</b></p><p><b> 目錄</b></p><p> 引言…………………………………………………..5</p>
3、<p> 一、設(shè)計程序的目的與要求………………….........6</p><p> 目的…………………………………………….......6</p><p> 要求…………………………………………………6</p><p> 二、方案實現(xiàn)與調(diào)試………………………………6</p><p> 總體設(shè)計……………………………
4、…………….6</p><p> 1、實現(xiàn)功能………………………………………6</p><p> 2、功能模塊圖…………………………………..7</p><p> 詳細(xì)設(shè)計………………………………………….7</p><p> 1、界面布局………………………………………7</p><p> 2、各模塊功能設(shè)計
5、………………………………8</p><p> 2.1處理“打開”按鈕………………………………..9</p><p> 2.2處理“播放”按鈕……………………………….9</p><p> 2.3處理“暫停”按鈕………………………………..9</p><p> 2.4處理“停止”按鈕………………………………..9</p>
6、<p> 2.5處理“音量”按鈕…………………………………10</p><p> 2.6處理“退出”按鈕………………………………...10</p><p> 3 操作步驟……………………………………….10</p><p> 三、課程設(shè)計分析與總結(jié)……………………….11</p><p> 分析……………………………………
7、……..11</p><p> 總結(jié)…………………………………………...11</p><p> 附錄……………………………………………….13</p><p> 關(guān)鍵程序清單…………………………………13</p><p> 參考文獻(xiàn)………………………………………20</p><p><b> 引言
8、</b></p><p> MP3播放器的設(shè)計是利用MFC應(yīng)用程序、媒體控制接口MIC的基本知識而設(shè)計的。</p><p><b> 1.1 MFC簡介</b></p><p> MFC是Visual C++是核心。MFC類庫將所有圖形用戶界面的元素如窗口、菜單和按鈕等都以類的形式進(jìn)行了封裝,MFC AppWizard向?qū)Ц鶕?jù)
9、繼承性利用MFC派生出自己的類,并對Windows應(yīng)用程序進(jìn)行了分解,利用MFC派生類對應(yīng)用程序重新進(jìn)行組裝,同時還規(guī)定了應(yīng)用程序中各個MFC派生類對象之間的相互聯(lián)系,實現(xiàn)了標(biāo)準(zhǔn)Windows應(yīng)用程序的功能,這就是向?qū)傻乃^MFC應(yīng)用程序框架。每個MFC類都包括了一些函數(shù),函數(shù)放到類中,符合C++編程方法。這些函數(shù),必須通過類定義對象才能使用[1]。</p><p><b> 1.2 MCI簡介&
10、lt;/b></p><p> MCI(Media Control Interface)媒體控制接口是MircroSoft提供的一組多媒體設(shè)備和文件的標(biāo)準(zhǔn)接口,它的好處是可以方便地控制絕大多數(shù)多媒體設(shè)備包括音頻、視頻、影碟、錄像等多媒體設(shè)備,而不需要知道它們的內(nèi)部工作狀況。它所支持的媒體格式包括mp3、avi、wav、mpeg等等[2]。</p><p> 音頻技術(shù)發(fā)展較早,幾年
11、前一些技術(shù)已經(jīng)成熟并產(chǎn)品化,音頻技術(shù)主要包括四個方面:音頻數(shù)字化、語音處理、語音合成及語音識別。</p><p> 音頻文件包括多種格式的文件,MP3就是其中的一種。MP3的全稱是Moving Picture Experts Group,Audio Layer Ⅲ,它所使用的技術(shù)是在VCD(MPEG-1)的音頻壓縮技術(shù)上發(fā)展出的第三代,而不是MPEG-3。MP3是一種音頻壓縮的國際技術(shù)標(biāo)準(zhǔn),它一般需要MP3播放
12、器來讀取。</p><p> 課程設(shè)計的目的與要求</p><p><b> 1、目的</b></p><p> 利用VC++開發(fā)一個支持wav、mp3、wma等不同音頻格式的媒體播放器。通過課程設(shè)計掌握多媒體編程的基本原理。</p><p><b> 2、任務(wù)</b></p>
13、<p> 編程實現(xiàn)一個可支持多種音頻格式的媒體播放器,其基本功能包括媒體播放、音量調(diào)節(jié)、播放進(jìn)度選擇、暫停、停止以及歌曲信息的查詢與添加等;</p><p> 給出程序的總體設(shè)計和詳細(xì)設(shè)計,要求程序總體架構(gòu)圖、詳細(xì)設(shè)計的流程圖,函數(shù)、變量說明等</p><p> 給出程序運(yùn)行、測試的詳細(xì)結(jié)果。</p><p><b> 方案實現(xiàn)與調(diào)試&
14、lt;/b></p><p><b> 總體設(shè)計</b></p><p><b> 1 實現(xiàn)功能</b></p><p> MP3播放器主要對常用Windows音頻格式的文件實現(xiàn)播放控制:播放歌曲、暫停播放、停止播放等;實現(xiàn)音量控制:靜音、聲音放大以及聲音減小的功能。</p><p>&
15、lt;b> 2 功能模塊圖</b></p><p> 圖-1 系統(tǒng)功能模塊圖</p><p><b> 詳細(xì)設(shè)計</b></p><p><b> 1 界面布局設(shè)計</b></p><p> (1) 創(chuàng)建一個對話框類,類名為Mp3PlayerDlg。</p>
16、<p> (2) 向?qū)υ捒蛑刑砑覩roup Box控件、Static Text控件以及按鈕控件。</p><p> (3) 設(shè)置所添加的控件的屬性。</p><p> 系統(tǒng)界面的運(yùn)行結(jié)果圖如圖-2所示。</p><p> 圖-2 系統(tǒng)界面運(yùn)行結(jié)果圖</p><p> Mp3Player對話框中所用控件的屬性描述如表-1所
17、示。</p><p> 表-1 對話框控件ID及其描述</p><p><b> 2 各模塊功能設(shè)計</b></p><p> 2.1 處理“打開”按鈕</p><p> 單擊“打開”按鈕后,在OnButtonOpen()函數(shù)中,首先對文件類型進(jìn)行過濾,調(diào)用DoModa()函數(shù)打開對話框選擇一個媒體文件,通過Ge
18、tPathName()函數(shù)獲取文件路徑,通過GetFileName()函數(shù)獲取文件名后,調(diào)用DisplayInfo()函數(shù)在Static Text控件上顯示“你選擇的歌曲是(文件名)”,然后利用GetDlgItem()函數(shù)設(shè)置“暫?!卑粹o以及“停止”按鈕不可用。 </p><p> 2.2 處理“播放”按鈕</p><p> 單擊“播放”按鈕后,在OnButtonPlay()函數(shù)中,通
19、過調(diào)用MCIMP3類的MCIOpen()函數(shù)獲取剛才選擇的文件路徑以及文件名,調(diào)用該類的MCIPlay()函數(shù)播放歌曲,此時調(diào)用DisplayInfo()函數(shù)在Static Text控件上顯示“正在播放的歌曲是(文件名)”,進(jìn)行歌曲的播放,然后利用GetDlgItem()函數(shù)設(shè)置“播放”按鈕不可用。</p><p> 2.3 處理“暫?!卑粹o</p><p> 單擊“暫?!卑粹o后,在O
20、nButtonPause()函數(shù)中,首先通過調(diào)用MCIMP3類的MCIPause()函數(shù)暫停正在播放的歌曲,然后調(diào)用DisplayInfo()函數(shù)在Static Text控件上顯示“暫停播放歌曲(文件名)”,此時的歌曲處于暫停時的進(jìn)度上,利用GetDlgItem()函數(shù)設(shè)置“播放”按鈕可用。</p><p> 2.4 處理“停止”按鈕</p><p> 單擊“停止”按鈕后,在OnBut
21、tonStop()函數(shù)中,首先通過調(diào)用MCIMP3類的MCIPause()函數(shù)停止正在播放的歌曲,然后調(diào)用DisplayInfo()函數(shù)在Static Text控件上顯示“停止播放歌曲(文件名)”,將停止正在播放歌曲,利用GetDlgItem()函數(shù)設(shè)置“暫?!卑粹o和“停止”按鈕不可用。</p><p> 2.5 處理“音量”按鈕</p><p> 單擊“音量”按鈕后,在OnButto
22、nVolume()函數(shù)中,首先調(diào)用WinExec()函數(shù)并且打開C:/WINDOWS/System32/sndvol32.exe,彈出“主音量”對話框,在此對話框內(nèi)可以對音量進(jìn)行增大或減小以及靜音的設(shè)置。</p><p> 2.6 處理“退出”按鈕</p><p> 單擊“退出”按鈕后,在OnButtonQuit()函數(shù)中,調(diào)用CDialog類的OnCancel()函數(shù)將退出對話框,結(jié)
23、束程序的運(yùn)行。</p><p><b> 3操作步驟</b></p><p> 先在VS環(huán)境下建立好一個基于對話框的工程。</p><p> 打開資源視圖,在對話框內(nèi)按照布局圖布局,步好后根據(jù)表-1來設(shè)置屬性。添加相應(yīng)的變量和函數(shù)。</p><p><b> 進(jìn)行程序初始化。</b><
24、/p><p> 為各個按鈕添加消息處理函數(shù),并添加相應(yīng)的代碼。</p><p> 全部完成后進(jìn)行測試和調(diào)試。</p><p><b> 課程設(shè)計分析與總結(jié)</b></p><p><b> 分析</b></p><p> 按照課程設(shè)計的要求,我們用C/C++來實現(xiàn)功能,
25、但由于我們在學(xué)過面向?qū)ο蠛?,我們常用的是Visual Studio 2010版本的VS編輯器。在分析所要做的播放器時,想到的最基本的功能就是可以播放音樂,其次就是對播放過程中的操作,如:快進(jìn)或快退、上一曲或下一曲、播放/暫停、音量大小、選擇和添加歌曲、播放界面選擇……等等功能。但是,由于學(xué)識有限,我們在這一周的時間內(nèi)沒有去考慮這么多功能,所以對于這樣一個播放器,還是存在很多的改進(jìn)方案。那么只有在以后的探索中慢慢來實現(xiàn)了。</p&g
26、t;<p><b> 總結(jié)</b></p><p> 經(jīng)過一周的面向?qū)ο蟪绦蛘n程設(shè)計,我學(xué)到了很多。在這一周的實際動手學(xué)習(xí)中,我對VC++這門課程有了更深刻的認(rèn)識,掌握了用MFC創(chuàng)建基于對話框的應(yīng)用程序,同時了解了MCI相關(guān)知識。這次課程設(shè)計我做了MP3播放器的設(shè)計,MP3播放器主要對常用Windows音頻格式的文件實現(xiàn)播放控制:播放歌曲、暫停播放、停止播放等;實現(xiàn)音量控制
27、:靜音、聲音放大以及聲音減小的功能。</p><p> 本次課程設(shè)計中雖然可以實現(xiàn)播放、暫停、停止、播放界面美化以及音量等功能,但仍然存在著放多不足,比如進(jìn)度條功能沒有實現(xiàn)、列表管理的功能以及循環(huán)播放功能始終無法實現(xiàn),如果有時間一定會好好研究。</p><p> 課設(shè)是辛苦勞累的,但是收獲同樣是巨大的,在課設(shè)中每解決一個問題,那種成就感是無法言語的,課設(shè)中第一次調(diào)試程序時出現(xiàn)了很多錯誤
28、,其中有邏輯錯誤,編譯能通過,運(yùn)行始終無法通過,后來經(jīng)過思考,進(jìn)行了多次修改調(diào)試之后得到了運(yùn)行結(jié)果;但是還是存在兼容性問題,電腦版本和系統(tǒng)以及軟件的版本之間存在各種兼容性問題,因為之前在程序中幾乎沒見到過,所以一時不知從何處檢查并改進(jìn),后來在老師的幫助下,找到了問題,結(jié)果換了臺電腦,經(jīng)過改正調(diào)試最終達(dá)到了目的。像此類的問題還有很多,不過經(jīng)過查詢資料,咨詢老師,與同學(xué)探討最終得到了理想的程序。此外,我還得到了一個結(jié)論,在課程設(shè)計中,老師的
29、作用有時是不可或缺的,可以在關(guān)鍵時刻給我們一些重要的提示,從而方便我們解決各種問題。這就是我對這次軟件課程設(shè)計的總結(jié)。</p><p><b> 附錄 </b></p><p><b> 關(guān)鍵程序清單</b></p><p> BOOL CMp3PlayerDlg::OnInitDialog() //初始化<
30、/p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> // Add "About..." menu item to system menu.</p><p> // IDM_ABOUTBOX must be in the syst
31、em command range.</p><p> ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);</p><p> ASSERT(IDM_ABOUTBOX < 0xF000);</p><p> CMenu* pSysMenu = GetSystemMenu(FALSE);</p>
32、<p> if (pSysMenu != NULL)</p><p><b> {</b></p><p> CString strAboutMenu;</p><p> strAboutMenu.LoadString(IDS_ABOUTBOX);</p><p> if (!strAboutMe
33、nu.IsEmpty())</p><p><b> {</b></p><p> pSysMenu->AppendMenu(MF_SEPARATOR);</p><p> pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);</p><p
34、><b> }</b></p><p><b> }</b></p><p> // Set the icon for this dialog. The framework does this automatically</p><p> // when the application's mai
35、n window is not a dialog</p><p> SetIcon(m_hIcon, TRUE);// Set big icon</p><p> SetIcon(m_hIcon, FALSE);// Set small icon</p><p> // TODO: Add extra initialization here<
36、/p><p> DisplayInfo(0,_T("歡迎使用Mp3Player!"),_T(""));</p><p> GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(FALSE);</p><p> GetDlgItem(IDC_BUTTON_PAUSE)->EnableW
37、indow(FALSE);</p><p> GetDlgItem(IDC_BUTTON_STOP)->EnableWindow(FALSE);</p><p> return TRUE; // return TRUE unless you set the focus to a control</p><p><b> }</b>
38、;</p><p> void CMp3PlayerDlg::OnButtonOpen() //打開</p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> char szFi
39、leFilter[]="All Music Files(*.*)|*.*||"; </p><p> CFileDialog FileOpenDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter/*, this*/);</p><p> if( FileOpenDlg.DoModal() == IDOK )</p&g
40、t;<p><b> {</b></p><p> m_csPathName = FileOpenDlg.GetPathName();</p><p> m_csSongName = FileOpenDlg.GetFileName();</p><p> DisplayInfo(1,_T("你選擇的歌曲是:&qu
41、ot;),m_csSongName);</p><p> m_bIsOpened = TRUE;</p><p> m_bIsNoSelectFile = FALSE;</p><p><b> }</b></p><p><b> else</b></p><p>
42、;<b> {</b></p><p> m_bIsNoSelectFile = TRUE;</p><p><b> }</b></p><p> if (m_bIsOpened && m_mcimp3.MCIIsPlaying())</p><p><b>
43、{</b></p><p> m_mcimp3.MCIClose();</p><p> m_mcimp3.MCIStop();</p><p><b> }</b></p><p> if (m_bIsOpened && m_mcimp3.MCIIsPlaying() </
44、p><p> && m_bIsNoSelectFile)</p><p><b> {</b></p><p> m_mcimp3.MCIResume();</p><p><b> }</b></p><p> if (m_bIsOpened &a
45、mp;& m_bIsPressPauseBtn)</p><p><b> {</b></p><p> m_bIsPauseOpen = TRUE;</p><p><b> }</b></p><p> BOOL bIsPlayBtnEnabled = GetDlgItem(ID
46、C_BUTTON_PLAY)->IsWindowEnabled();</p><p> if (!bIsPlayBtnEnabled)</p><p><b> {</b></p><p> GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(TRUE);</p><p>
47、;<b> }</b></p><p><b> }</b></p><p> void CMp3PlayerDlg::OnButtonPlay() //播放</p><p><b> {</b></p><p> // TODO: Add your cont
48、rol notification handler code here</p><p> if (m_bIsPauseOpen)</p><p><b> {</b></p><p> if (m_bIsNoSelectFile)</p><p><b> {</b></p>
49、<p> m_mcimp3.MCIResume();</p><p> DisplayInfo(1,_T("繼續(xù)播放歌曲:"),m_csSongName);</p><p> m_bIsPressPauseBtn = FALSE;</p><p><b> }</b></p><p&
50、gt;<b> else</b></p><p><b> {</b></p><p> m_mcimp3.MCIOpen(m_csPathName);</p><p> m_mcimp3.MCIPlay();</p><p> DisplayInfo(1,_T("正在播放的歌
51、曲是:"),m_csSongName);</p><p> GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(FALSE);</p><p> m_bIsNoSelectFile = TRUE;</p><p><b> }</b></p><p><b
52、> }</b></p><p> else if (m_bIsOpened && m_bIsPressPauseBtn)</p><p><b> {</b></p><p> m_mcimp3.MCIPlay();</p><p> DisplayInfo(1,_T(&quo
53、t;繼續(xù)播放歌曲:"),m_csSongName);</p><p> m_bIsPressPauseBtn = FALSE;</p><p> GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(FALSE);</p><p><b> }</b></p><p>
54、<b> else</b></p><p><b> {</b></p><p> if (m_bIsNoSelectFile)</p><p><b> {</b></p><p> DisplayInfo(0,_T("你還沒有選擇歌曲,點擊播放沒有意義!
55、"),_T(""));</p><p><b> return;</b></p><p><b> }</b></p><p> m_mcimp3.MCIOpen(m_csPathName);</p><p> m_mcimp3.MCIGetLength(&am
56、p;m_dwLen);</p><p> m_mcimp3.MCIPlay();</p><p> SetTimer(1, 1000, NULL);</p><p> DisplayInfo(1,_T("正在播放的歌曲是:"),m_csSongName);</p><p> m_bIsPressStopBtn =
57、 FALSE;</p><p> GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(FALSE);</p><p><b> } </b></p><p> BOOL bIsPauseBtnEnabled = GetDlgItem(IDC_BUTTON_PAUSE)->IsWindowEnab
58、led();</p><p> if (!bIsPauseBtnEnabled)</p><p><b> {</b></p><p> GetDlgItem(IDC_BUTTON_PAUSE)->EnableWindow(TRUE);</p><p><b> }</b></p
59、><p> BOOL bIsStopBtnEnabled = GetDlgItem(IDC_BUTTON_STOP)->IsWindowEnabled();</p><p> if (!bIsStopBtnEnabled)</p><p><b> {</b></p><p> GetDlgItem(IDC_B
60、UTTON_STOP)->EnableWindow(TRUE);</p><p><b> }</b></p><p><b> }</b></p><p> void CMp3PlayerDlg::OnButtonPause() //暫停</p><p><b>
61、; {</b></p><p> // TODO: Add your control notification handler code here</p><p> BOOL bIsPlaying = m_mcimp3.MCIIsPlaying();</p><p> if (bIsPlaying)</p><p><
62、;b> {</b></p><p> m_mcimp3.MCIPause();</p><p> DisplayInfo(1,_T("暫停播放歌曲:"),m_csSongName);</p><p> m_bIsPressPauseBtn = TRUE;</p><p><b> }&
63、lt;/b></p><p> BOOL bIsPlayBtnEnabled = GetDlgItem(IDC_BUTTON_PLAY)->IsWindowEnabled();</p><p> if (!bIsPlayBtnEnabled)</p><p><b> {</b></p><p> G
64、etDlgItem(IDC_BUTTON_PLAY)->EnableWindow(TRUE);</p><p><b> }</b></p><p><b> }</b></p><p> void CMp3PlayerDlg::OnButtonStop() //停止</p><
65、p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> if (m_mcimp3.MCIStop()==0)//停止播放</p><p><b> {</b></p>&l
66、t;p> m_bIsPressStopBtn = TRUE;</p><p> m_bIsPressPauseBtn = FALSE;</p><p> GetDlgItem(IDC_BUTTON_STOP)->EnableWindow(FALSE);</p><p> DisplayInfo(1,_T("停止播放歌曲:"),
67、m_csSongName);</p><p> m_mcimp3.MCIClose();</p><p> GetDlgItem(IDC_BUTTON_PAUSE)->EnableWindow(FALSE);</p><p><b> }</b></p><p> BOOL bIsPlayBtnEnable
68、d = GetDlgItem(IDC_BUTTON_PLAY)->IsWindowEnabled();</p><p> if (!bIsPlayBtnEnabled)</p><p><b> {</b></p><p> GetDlgItem(IDC_BUTTON_PLAY)->EnableWindow(TRUE);<
69、;/p><p><b> }</b></p><p><b> }</b></p><p> void CMp3PlayerDlg::OnButtonQuit() //退出</p><p><b> {</b></p><p> //
70、TODO: Add your control notification handler code here</p><p> CDialog::OnCancel();</p><p><b> }</b></p><p> void CMp3PlayerDlg::OnButtonVolume() //音量</p>
71、<p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> WinExec( "C:\\WINDOWS\\System32\\sndvol32.exe", SW_NORMAL );</p><
72、p><b> }</b></p><p> void CMp3PlayerDlg::DisplayInfo(bool bOPInfo,CString csInfo,CString csSongName)</p><p><b> {</b></p><p> if (!bOPInfo)</p>
73、<p><b> {</b></p><p> m_csInfo = csInfo;</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><
74、p> m_csInfo = csInfo;</p><p> m_csInfo += csSongName;</p><p><b> }</b></p><p> GetDlgItem(IDC_STATIC_INFO)->SetWindowText(m_csInfo);</p><p><b&
75、gt; }</b></p><p> void CMp3PlayerDlg::OnTimer(UINT nIDEvent) </p><p><b> {</b></p><p> // TODO: Add your message handler code here and/or call default</p>
76、;<p> if ( nIDEvent == 1)</p><p><b> {</b></p><p> if ( 0 == m_dwLen )</p><p><b> {</b></p><p> KillTimer(1);</p><p>
77、 DisplayInfo(1,_T("已經(jīng)播放完歌曲:"),m_csSongName); </p><p> GetDlgItem(IDC_BUTTON_PAUSE)->EnableWindow(FALSE);</p><p> GetDlgItem(IDC_BUTTON_STOP)->EnableWindow(FALSE);</p>
78、<p><b> return;</b></p><p><b> }</b></p><p> m_dwLen--;</p><p><b> }</b></p><p> CDialog::OnTimer(nIDEvent);</p>&l
79、t;p><b> }</b></p><p><b> 參考文獻(xiàn)</b></p><p> [1] 黃維通.Visual C++面向?qū)ο缶幊探坛?第三版.北京:清華大學(xué)出版社,2011</p><p> [2] 侯俊杰.深入淺出MFC.第2版.廣東:南方出版社,2007</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- mp3播放器設(shè)計設(shè)計
- 基于fpga的mp3音樂播放器設(shè)計
- 硬件課程設(shè)計-基于fpga的mp3音樂播放器說明書
- 基于mp3播放器的設(shè)計
- mp3播放器的實現(xiàn)開題報告
- 電子綜合課程設(shè)計報告--基于arm+linux的mp3播放器
- 音樂播放器課程設(shè)計報告
- 基于vs1003的mp3音樂播放器設(shè)計
- 基于dsp的mp3播放器設(shè)計
- dsp數(shù)字信號處理課程設(shè)計報告--基于dsp的mp3播放器設(shè)計
- 嵌入式MP3播放器的軟件設(shè)計.pdf
- 車載MP3播放器音頻解碼的軟件設(shè)計.pdf
- MP3播放器的實現(xiàn)開題報告.doc
- 基于android的mp3音樂播放器設(shè)計畢業(yè)設(shè)計論文
- 音樂播放器課程設(shè)計
- 給予android的mp3音樂播放器設(shè)計--畢業(yè)設(shè)計論文
- MP3音樂播放器上殼注塑模具設(shè)計.doc
- MP3音樂播放器上殼注塑模具設(shè)計.doc
- MP3音樂播放器上殼注塑模具設(shè)計開題報告.doc
- 第二章 mp3播放器軟件(自行閱讀)
評論
0/150
提交評論