




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目錄1 選題背景21.1 背景21.2 設(shè)計要求21.3 指導思想22 方案論證23 程序設(shè)計論述2 3.1 程序工作23.2 控件屬性說明43.3 程序代碼(附帶解釋說明)44 結(jié)果分析114.1 運行結(jié)果11 4.2 結(jié)果分析155 總結(jié)15設(shè)計體會及今后的改進意見16參考文獻資料171 選題背景1.1 背景如今,許多學校、工礦等單位都安裝音樂打鈴器,音樂打鈴已成為一種時尚的打鈴方式,它改進了傳統(tǒng)單調(diào)的打鈴方式,讓打鈴方式變得豐富多彩。因此,我選擇了全自動打鈴軟件作為我的課程設(shè)計課題。1.2 設(shè)計要求設(shè)計基本要求為定時播出,以周為單位,可以在任意天任意時間設(shè)定播放音樂鈴聲??梢匀我饪刂撇シ?/p>
2、時間的長短,在設(shè)定的時間內(nèi)會連續(xù)播放,結(jié)束時間一到即會停止??稍O(shè)置多套播放計劃,根據(jù)需要隨時啟用。內(nèi)置十首鈴聲,支持自定義鈴聲名稱及音樂。設(shè)置計劃時也可指定磁盤上的文件,支持WAV、MID、MP3等音樂文件格式。 軟件界面簡潔實用,可以隨時手動播放需要的鈴聲,或者暫時屏蔽某個不需要的鈴聲。1.3 指導思想本程序設(shè)計主要是用到windows media player播放器控件、定時器、對話框、列表框、文件列表框和組合框的使用方法。選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的設(shè)計使用。2 方案論證最初的設(shè)計方案只用列表框加載音樂,用MMControl播放控件進行播放,但是添加音樂后,音樂不播放,加之對此播放控件不太熟悉,
3、編程較慢,且出現(xiàn)錯誤較多就放棄了此計劃。 后來的改進的計劃是加載windows media player控件,設(shè)計兩個命令按鈕“默認列表”、“自定義列表”分別用來切換默認列表與自定義列表兩個播放列表,其中默認列表對應(yīng)firelist1,內(nèi)置十首默認鈴聲;自定義列表對應(yīng)list1,可以通過單擊“添加文件”按鈕添加自己要選的指定格式的音樂。當在任意一個text1文本框中輸入上課或下課時間后(考慮到學校上下課的時間基本精確到分鐘,所以程序設(shè)計是按此設(shè)計的,輸入時間時,就精確到分鐘即可),當?shù)竭_此時間后,按照所選計劃進行播放,當播放進度與設(shè)置的播放時長相等時,結(jié)束播放。同時,用戶雙擊列表中的音樂后,也
4、可以使其播放。并且可以通過“刪除”按鈕刪除自定義列表中不想要的鈴聲,也可以按“清空”按鈕清空自定義列表。在周末的時候,設(shè)計為不打鈴,以周開始循環(huán)打鈴。綜上,通過改變設(shè)計思路,自動打鈴最后實現(xiàn)。3 程序設(shè)計論述3.1 設(shè)計工作簡述該課程設(shè)計歷時5天完成:第一天:進行總體的設(shè)計,確定設(shè)計思路,即具體編程設(shè)計步驟。第二天:進行初步編程。進行界面設(shè)計,編輯添加音樂到播放列表以及雙進行播放的程序。第三天:完成剩余程序設(shè)計,主要是控制定時打鈴的程序。并驗證正確性。第四天:上級驗證程序正確性,并進行改進。第五天:編寫課程設(shè)計報告,并打印成稿。3.2 控件屬性說明表3-2 控件屬性表控件名稱重要屬性值說明Wi
5、ndowsmediaplayer1播放鈴聲Command1Caption-添加文件在列表框添加音樂Command2Caption-刪除刪除自定義列表所選音樂Command3Caption-清空清空列表Command4Caption-退出退出程序Command5Caption-默認列表單擊后只顯現(xiàn)filelist1,用來切換列表Command6Caption-自定義列表單擊后只顯現(xiàn)list1,用來切換列表Command7Caption-默認時間Command8Caption-清空時間Text1數(shù)組用來輸入時間Text2設(shè)定播放時長Text3播放音樂時,顯示進度Text4顯示正在播放的曲目Text
6、5當選擇“用戶選擇鈴聲”計劃時,顯示所選鈴聲Label1顯示現(xiàn)在的日期、時間Label2Caption-北京時間:Label3Caption-第一節(jié)Label4Caption-第二節(jié)Label5Caption-第三節(jié)Label6Caption-第四節(jié)Label7Caption-第五節(jié)Label8Caption-第六節(jié)Label9Caption-第七節(jié)Label10Caption-第八節(jié)Label11Caption-上課時間Label12Caption-下課時間Label13Caption-正在播放Label14Caption-播放時長(秒)Label15Caption-播放計劃Label16C
7、aption-播放進度(秒)Label17Caption-所選歌曲Filelist1加載默認列表的歌曲曲目List1加載自定義列表的歌曲曲目Combo1List(0)=”用戶選擇鈴聲”List(1)=”隨機隨機播放指定列表鈴聲”播放計劃Image1加載陜西科技大學圖標Commondialog1Timer1Interval=1000控制自動播放Timer2Interval=1000在label1顯示現(xiàn)在時間Timer3Interval=1000后變?yōu)?0000到達時間,根據(jù)所選播放計劃,調(diào)用Timer2Timer4Interval=1000顯示播放進度,并控制播放時長3.3 程序代碼(附帶解釋說
8、明)Option ExplicitDim a(), b() 聲明數(shù)組a(),b(),其分別用來保存自定義列表中各項的路徑和文件名Dim x As String 保存將時間轉(zhuǎn)為字符串的變量Dim n As Integer 表示text1數(shù)組的下標當點擊組合框中的第一項是,選擇鈴聲(請事先選好鈴聲)Private Sub Combo1_Click()1If Combo1.ListIndex = 0 Then 當?shù)谝豁棻贿x中時,彈出對話框 MsgBox 請選擇鈴聲 如果在默認列表或自定義列表內(nèi)選擇鈴聲,將其賦給text5 If File1.Visible = True Then Text5.Text
9、 = File1.List(File1.ListIndex) Else Text5.Text = List1.List(List1.ListIndex) End IfEnd IfEnd Sub強行結(jié)束程序Private Sub Command4_Click()EndEnd Sub點擊command5即默認列表按鈕時,文件列表框顯示,列表框不顯示Private Sub Command5_Click()List1.Visible = FalseFile1.Visible = TrueEnd Sub點擊command6即自定義列表按鈕時,文件列表框顯示,列表框不顯示Private Sub Comma
10、nd6_Click()List1.Visible = TrueFile1.Visible = FalseEnd Sub點擊command7即默認時間按鈕時,在text1控件數(shù)組中顯示默認時間Private Sub Command7_Click() Text1(0).Text = 08:00 Text1(1).Text = 08:50 Text1(2).Text = 09:00 Text1(3).Text = 09:50 Text1(4).Text = 10:05 Text1(5).Text = 10:55 Text1(6).Text = 11:05 Text1(7).Text = 11:50
11、Text1(8).Text = 14:00 Text1(9).Text = 14:50 Text1(10).Text = 15:00 Text1(11).Text = 15:50 Text1(12).Text = 16:05 Text1(13).Text = 16:55 Text1(14).Text = 17:05 Text1(15).Text = 17:55End Sub點擊command8即清空時間按鈕時,清空所有時間Private Sub Command8_Click()For n = 0 To 15 Text1(n).Text = Next nEnd Sub雙擊文件列表框中某一項時,播
12、放所選歌曲Private Sub File1_DblClick() WindowsMediaPlayer1.URL = App.Path & mp3 & File1.List(File1.ListIndex) 2 WindowsMediaPlayer1.Controls.play Text4.Text = File1.List(File1.ListIndex) Text4顯示正在播放的歌曲End SubPrivate Sub Form_Load() Show Timer1.Interval = 1000 Timer2.Interval = 1000 Timer3.Interval = 1000
13、 Timer1.Enabled = False timer1不可用,防止選中歌曲就進行打鈴 File1.Visible = True 加載窗體時只顯示默認列表 List1.Visible = False MsgBox 請?zhí)砑逾徛?File1.Path = App.Path & mp3 此處為默認音樂,其所在文件夾與工程文件放在一起,名為“mp3”的文件夾 Text1(0).Text = 08:00 加載默認時間 Text1(1).Text = 08:50 Text1(2).Text = 09:00 Text1(3).Text = 09:50 Text1(4).Text = 10:05 Text
14、1(5).Text = 10:55 Text1(6).Text = 11:05 Text1(7).Text = 11:50 Text1(8).Text = 14:00 Text1(9).Text = 14:50 Text1(10).Text = 15:00 Text1(11).Text = 15:50 Text1(12).Text = 16:05 Text1(13).Text = 16:55 Text1(14).Text = 17:05 Text1(15).Text = 17:55 如果今天是周末,則不打鈴 If Weekday(Date) = 1 Or Weekday(Date) = 7 T
15、hen MsgBox 今天周末,不執(zhí)行程序 Timer1.Enabled = False Timer3.Enabled = False End IfEnd SubPrivate Sub Command1_Click()3 定義i,j兩個靜態(tài)變量用來,其為數(shù)組a(),b()的下標 Static i As Integer, j As Integer 定義動態(tài)數(shù)組a(i), b(j),且值保存,分別用于記錄列表框中各項的路徑和文件名 ReDim Preserve a(i), b(j) 篩選指定格式的文件 CommonDialog1.Filter=”全部格式 |*.*|*.mp3|*.mp3|*.wm
16、a|*.wma|*.wmv|*.wmv|*.mid|*.mid” CommonDialog1.InitDir = D: CommonDialog1.Action = 1 If CommonDialog1.FileName = Then 如果沒選擇文件,退出工程 Exit Sub Else 若選中,文件路徑賦給a(),文件名賦給b()。i,j分別加1,當添加文件后,繼續(xù)執(zhí)行 a(i) = CommonDialog1.FileName b(j) = CommonDialog1.FileTitle List1.AddItem b(j) i = i + 1 j = j + 1 End IfEnd Su
17、b點擊command2即“刪除”按鈕時,刪除自定義列表中所選項Private Sub Command2_Click()List1.RemoveItem List1.ListIndexEnd Sub點擊command3即“清空”按鈕時,清空自定義列表內(nèi)所有項Private Sub Command3_Click()List1.ClearEnd Sub雙擊文列表框中某一項時,播放所選歌曲Private Sub List1_DblClick() WindowsMediaPlayer1.URL = a(List1.ListIndex) WindowsMediaPlayer1.Controls.play
18、Text4.Text = List1.List(List1.ListIndex)End Sub執(zhí)行播放器控件自動打鈴的命令Private Sub Timer1_Timer() 首先判斷列表框中的項是否被選中,如果選中,往下執(zhí)行 If List1.ListIndex -1 Then 判斷播放器是否正在播放,如果正在播放,則停止, 自動播放令選擇的列表項,以防設(shè)置的播放時間超過打鈴時間間隔 , 播放后,timer1都要停止工作,否則不會播放,下同 If WindowsMediaPlayer1.playState = 3 Then 4 WindowsMediaPlayer1.Controls.sto
19、p WindowsMediaPlayer1.URL = a(List1.ListIndex) WindowsMediaPlayer1.Controls.play Text4.Text = List1.List(List1.ListIndex) Timer1.Enabled = False Else 如果播放器處于停止或閑置狀態(tài),則播放列表框內(nèi)所選列表項 WindowsMediaPlayer1.URL = a(List1.ListIndex) WindowsMediaPlayer1.Controls.play Text4.Text = List1.List(List1.ListIndex) Ti
20、mer1.Enabled = False End If End If 首先判斷文件列表框中的項是否被選中,如果選中,往下執(zhí)行 If File1.ListIndex -1 Then 判斷播放器是否正在播放,如果正在播放,則停止, 自動播放令選擇的列表項,以防設(shè)置的播放時間超過打鈴時間間隔 If WindowsMediaPlayer1.playState = 3 Then WindowsMediaPlayer1.Controls.stop WindowsMediaPlayer1.URL = App.Path & mp3 & File1.List(File1.ListIndex) WindowsMe
21、diaPlayer1.Controls.play Text4.Text = File1.List(File1.ListIndex) Timer1.Enabled = False Else 如果播放器處于停止或閑置狀態(tài),則播放文件框內(nèi)的所選列表項 WindowsMediaPlayer1.URL = App.Path & mp3 & File1.List(File1.ListIndex) WindowsMediaPlayer1.Controls.play Text4.Text = File1.List(File1.ListIndex) Timer1.Enabled = False End If E
22、nd IfEnd Sub在label1內(nèi)顯示時間,將其轉(zhuǎn)為字符串格式Private Sub Timer2_Timer()Label1.Caption = Format(Now, yyyy年m月dd日hh:mm:ss dddd)5End Sub根據(jù)播放計劃,調(diào)用自動打鈴程序Private Sub Timer3_Timer()Dim y As Integer, z As Integerx = Format(Time, hh:mm) 轉(zhuǎn)化時間為只有小時和分鐘的字符串格式從015判斷,如果其中某一文本框與轉(zhuǎn)化后的時間相等,根據(jù)組合框所選擇的播放計劃,調(diào)用timer1進行自動打鈴For n = 0 To
23、 15 當text控件數(shù)組中某一項等于轉(zhuǎn)化格式后的時間是,往下執(zhí)行 If Text1(n).Text = x Or Text1(n).Text = 0 & x Then Select Case Combo1.ListIndex 選擇組合框中的播放計劃 Case 0 用戶選擇鈴聲 根據(jù)一開始時選擇的播放鈴聲,在文件列表框和列表框內(nèi)找尋索引號 If File1.List(y) = Text5.Text Then File1.ListIndex = y End If If List1.List(z) = Text5.Text Then List1.ListIndex = z End If Case
24、1 隨機播放所選列表的鈴聲(換列表時請再點一下此計劃) 判定所選列表,進行隨機選擇 Text5.Text = 清空text5 If File1.Visible = True Then File1.ListIndex = Int(Rnd * File1.ListCount) End If If List1.Visible = True Then List1.ListIndex = Int(Rnd * List1.ListCount) End If End Select 加載窗體時,timer3循環(huán)間隔為1秒,直至滿足上面的相等條件,調(diào)用timer2 然后改為1分鐘循環(huán)判斷一次,否則每秒都在循環(huán),
25、不斷調(diào)用timer2,播放器無法播放 Timer3.Interval = 60000 Timer1.Enabled = True End If Next nEnd Sub控制播放時長Private Sub Timer4_Timer()text3顯示播放器的播放進度,且將播放進度轉(zhuǎn)化為整形顯示Text3.Text = CInt(WindowsMediaPlayer1.Controls.currentPosition)當播放進度與設(shè)定播放時長相等時,則停止打鈴If Val(Text2.Text) = Val(Text3.Text) Then WindowsMediaPlayer1.Controls
26、.stop End IfEnd Sub4 結(jié)果分析4.1 運行結(jié)果圖4-1 設(shè)計界面圖4-2 啟動界面圖4-3 點擊對話框后的界面圖4-4 在默認列表雙擊播放歌曲的界面圖4-5 在自定義列表雙擊播放歌曲的界面圖4-6 選擇用戶計劃1后到15:25開始播指定鈴聲(播放會有延時)圖4-7 選擇用戶計劃2后到15:33開始隨機選歌打鈴(播放會有延時)圖4-8 可不選播放計劃,按用戶所選歌曲播放(播放會有延時)4.2 結(jié)果分析該程序基本可以執(zhí)行所要求打鈴命令,但也存在一些些缺陷,如:在選擇播放計劃1前必須先選定歌曲,否則Text5不顯示。不能完成分別設(shè)置上課鈴聲和下課鈴聲。5 總結(jié)這次課程設(shè)計我做的題目是制作一個全自動音樂打鈴軟件,雖然有一定難度,但是在不斷的摸索、查資料下運用windows media player控件,結(jié)合列表框、文件列表框、定時器、組合框等的使用,最后完成軟件的制作。雖然有很一些缺陷,但設(shè)計要求的打鈴功能基本可以完成,自己非常滿意最后的成果,它值得我付出那么多的汗水。設(shè)計體會及今后的改進意見 生活就是這樣,汗水預(yù)示著結(jié)果也見證著
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教育科技的力量優(yōu)化教學流程
- 挖掘教育大數(shù)據(jù)潛力無限的決策支持系統(tǒng)
- 超市收銀員培訓手冊
- 全球創(chuàng)新藥研發(fā)成本控制與效益分析2025年研究報告
- Cationomycin-生命科學試劑-MCE
- 新疆維吾爾自治區(qū)七校聯(lián)考2024-2025學年九年級化學第一學期期末學業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 唐山師范學院《農(nóng)產(chǎn)品市場營銷》2023-2024學年第一學期期末試卷
- 2025屆江蘇省邗江區(qū)化學九上期末綜合測試試題含解析
- 寧夏師范學院《數(shù)理統(tǒng)計與隨機過程》2023-2024學年第一學期期末試卷
- 公路貨運行業(yè)數(shù)字化轉(zhuǎn)型與綠色運輸模式創(chuàng)新報告
- 公司安全隱患排查記錄表
- 糧食的形態(tài)與化學組成第二節(jié)糧食的主要化學成分下64課件
- 中國農(nóng)田水利行業(yè)發(fā)展前景及發(fā)展策略與投資風險研究報告2025-2028版
- 余料使用管理制度
- 農(nóng)業(yè)面源防治課件
- 2025至2030中國氨基吡啶行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 2025-2030中國商業(yè)展示道具市場應(yīng)用前景及投資價值評估報告
- 2025年甘肅省武威市民勤縣西渠鎮(zhèn)人民政府選聘專業(yè)化管理村文書筆試參考題庫及1套完整答案詳解
- 防洪防汛安全知識試題及答案
- T/CCMA 0137-2022防撞緩沖車
- 江蘇省2025年中職職教高考文化統(tǒng)考數(shù)學試題答案
評論
0/150
提交評論