版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《.net技術(shù)》實(shí)習(xí)報(bào)告帶智能關(guān)機(jī)和查看日歷功能的音樂(lè)播放器設(shè)計(jì)班級(jí):電子信息工程01班指導(dǎo)老師:林**姓名:高樂(lè)順學(xué)號(hào):**********設(shè)計(jì)時(shí)間:2010年12月20日至2010年12月30日
正文開(kāi)始設(shè)計(jì)目的:很多人在使用播放器的時(shí)候下載的播放器軟件總是比較大,一般軟件較大的打開(kāi)就會(huì)比較慢,運(yùn)行起來(lái)也沒(méi)較小的軟件運(yùn)行的更“流暢“。而且當(dāng)我們使用播放器的時(shí)候或是只用電腦的時(shí)候我們有時(shí)會(huì)忘記關(guān)掉電腦就離開(kāi)或是睡著了!雖然電腦自帶的操作系統(tǒng)也可以設(shè)置定時(shí)關(guān)機(jī)但比較麻煩,對(duì)電腦初學(xué)者更是不知道怎么使用操作系統(tǒng)設(shè)置定時(shí)關(guān)機(jī)啦!還有就是我們電腦桌面下的時(shí)鐘一般只顯示了幾點(diǎn)鐘,并沒(méi)有顯示今天是多少號(hào),所以在影月播放器中添加一個(gè)可以查看日歷的功能是很必要的!實(shí)現(xiàn)的功能:在這里我就為大家設(shè)計(jì)一款小巧的音樂(lè)播放器,同時(shí)還帶有智能關(guān)機(jī)功能,所謂智能關(guān)機(jī)就是你想怎么時(shí)候關(guān)機(jī)就什么時(shí)候關(guān)機(jī),你想立刻關(guān)機(jī)就立刻關(guān)機(jī),想定時(shí)關(guān)機(jī)就可以自己設(shè)置關(guān)機(jī)時(shí)間,設(shè)置方法非常的簡(jiǎn)單啦。同時(shí)你只需要單擊一下一個(gè)“三角圖標(biāo)鍵”(在下面還將結(jié)合圖示提到)就可以看到日歷表了,在日歷表里你也可以選擇查看你需要的那個(gè)月的日歷表。同時(shí)我也在播放器中添加了顯示現(xiàn)在時(shí)鐘的功能。下面介紹一下我設(shè)計(jì)的播放器的所有功能:首先你可以通過(guò)“添加文件夾”按鈕添加你選擇的文件夾內(nèi)的所有音頻文件,你也可以通過(guò)“添加文件”按鈕單個(gè)添加你所要添加的音頻文件,具體方法在下面我會(huì)給出截圖加以說(shuō)明,保證一看就懂,就會(huì)用。添加音樂(lè)文件后你就可以在你的播放列表里看到你添加的歌曲名了。你可以通過(guò)雙擊列表中的歌曲名進(jìn)行播放你雙擊的歌曲或者單擊選中列表中歌曲名后再單擊播放按鈕進(jìn)行播放。在播放時(shí)你可也看到正在播放的歌曲名和播放進(jìn)度,這里的播放進(jìn)度使用顯示正在播放的歌曲“已經(jīng)播放了多長(zhǎng)時(shí)間”和這首歌要播放的“總時(shí)間”,還有就是上一曲、暫停、下一曲、停止,除實(shí)現(xiàn)播放的基本功能外,還有一個(gè)功能那就是我在上面給大家提到的“智能關(guān)機(jī)”物體規(guī)則震動(dòng)發(fā)出的聲音稱為“音樂(lè)”,由有組織的樂(lè)音來(lái)表達(dá)人們思想感情、反映現(xiàn)實(shí)生活的一種藝術(shù)就是音樂(lè),音樂(lè)是一種符號(hào),聲音符號(hào),表達(dá)人的所思所想,音樂(lè)能表達(dá)一個(gè)人的內(nèi)心世,界音樂(lè)能是人快樂(lè),能使人放松心情。為了方便人們能夠聽(tīng)到美麗的音樂(lè),音樂(lè)播放器就成為我們的音樂(lè)大師了。設(shè)計(jì)好的播放器運(yùn)行時(shí)如下圖:實(shí)現(xiàn)設(shè)計(jì)的過(guò)程:播放器功能圖解:播放器所具有的功能播放器所具有的功能智能關(guān)機(jī)!顯示當(dāng)前時(shí)間拖動(dòng)播放器窗體顯示播放歌曲信息添加音頻文件雙擊列表中歌曲名拖動(dòng)播放播放進(jìn)度滑塊控制播放位置播放暫停停鞥止上曲下曲自動(dòng)保存列表現(xiàn)在關(guān)機(jī)定時(shí)關(guān)機(jī)操作流程圖:先打開(kāi)先打開(kāi)安裝好的播放器播放器界面加要你需要播文的歌曲文件回到播放界面雙擊列表或是先單擊選中歌曲名再單擊播放按鈕關(guān)機(jī)播放歌曲設(shè)置定時(shí)關(guān)機(jī)時(shí)間→確定→時(shí)間到→確定關(guān)機(jī)下面說(shuō)明下我設(shè)計(jì)的具體步驟,我設(shè)計(jì)音樂(lè)播放器將采用WindowsMediaPlayer的編程接口和C#.NET編程技術(shù),我使用VisualStudio2010作為開(kāi)發(fā)工具。要使用首先要具有c#.net的基本編程技術(shù),然后然后下載VisualStudio2010作為開(kāi)發(fā)工具,安裝好后就可以開(kāi)始編程了,打開(kāi)VisualStudio2010新建項(xiàng)目中選擇新建windows窗體,創(chuàng)建好窗體后首先從工具箱中向窗體添加“WindowsMediaPlayer”組件具體方法如下:(1)“工具箱”右鍵“選擇項(xiàng)(I)”(2)在彈出的“選擇工具箱項(xiàng)”對(duì)話框中選擇“COM組件”選項(xiàng)卡。(3)在COM組件列表中選擇WindowsMediaPlayer,單擊確定。播放音樂(lè)主要采用的的是調(diào)用WindowsMediaPlayer接口,首先需要構(gòu)造一個(gè)界面,在界面上創(chuàng)建如上圖中的播放列表框控件(listbox)、和“上一曲”(button1)、“播放/暫?!保╞utton2)、“下一曲”(button3)“停止”(button4)控件。播放/暫停的代碼如下:PlayAndStop();再另定義一個(gè)方法如下:privatevoidPlayAndStop(){index=this.listBox1.SelectedIndex;//獲得當(dāng)前選定的文件的索引try{if(stop%2==0){stringselectname=this.listBox1.SelectedItem.ToString();//獲取選定的文件名stringplayurl=playlist[selectname].ToString();axWindowsMediaPlayer1.URL=playurl;axWindowsMediaPlayer1.Ctlcontrols.currentPosition=currentPosition;//當(dāng)前播放的進(jìn)度stop=stop+1;axWindowsMediaPlayer1.Ctlcontrols.play();currentPosition=0;}else{currentPosition=axWindowsMediaPlayer1.Ctlcontrols.currentPosition;//暫停時(shí)的進(jìn)度axWindowsMediaPlayer1.Ctlcontrols.pause();stop=stop-1;}}catch(Exception){return;}}停止的單擊事件代碼如下:privatevoidbutton4_Click(objectsender,EventArgse){axWindowsMediaPlayer1.Ctlcontrols.stop();}接下來(lái)添加一個(gè)trackBar控件作為聲音調(diào)節(jié)控件。代碼如下:axWindowsMediaPlayer1.settings.volume=this.trackBar1.Value;另外還要在窗體的加載事件中設(shè)定這個(gè)控件的最小值和最大值,在下面的窗體事件中還會(huì)提到其代碼的?,F(xiàn)在在窗體中添加一個(gè)groupBox組件,再在groupBox中添加添加“添加文件”、和添加“添加文件夾”控件。在此button的cliect事件中首先調(diào)用FolderBrowserDialog創(chuàng)建一個(gè)實(shí)例,然后判斷用戶點(diǎn)擊的按鈕,如果是DialogResult.OK然后獲得其絕對(duì)路徑,然后創(chuàng)建一個(gè)FileInfo對(duì)象,然后獲得該文件夾下擴(kuò)展名為.mp3、.wma、、、.wMa的文件,然后把他們加載到播放列表中,部分代碼如下:在寫(xiě)代碼之前還要記得添加一個(gè)openFileDialog組件。部分過(guò)程圖如下:在使用num++之前請(qǐng)先定義,還有上面提到的stop也要先定義,可以在classForm1類中首先定義,“添加文件”按鈕代碼:privatevoidbutton5_Click(objectsender,EventArgse){num++;//openFileDialog1.Filter="mp3格式文件|*.mp3|wma文件格式|*.wma|所有D文件t|*";openFileDialog1.Multiselect=true;openFileDialog1.Title="請(qǐng)選擇音頻文件";if(openFileDialog1.ShowDialog()==DialogResult.OK){stringfilepath=this.openFileDialog1.FileName;FileInfof=newFileInfo(filepath);stringfilename=num.ToString()+"-"+f.Name;playlist.Add(filename,filepath);this.listBox1.Items.Add(filename);}“添加文件夾”按鈕代碼:privatevoidbutton6_Click(objectsender,EventArgse){folderBrowserDialog1.SelectedPath=@"d:\";//設(shè)置文件夾的初始目錄folderBrowserDialog1.ShowNewFolderButton=true;//顯示新建文件夾按鈕folderBrowserDialog1.Description="請(qǐng)選擇MP3文件的路徑";//對(duì)話框的說(shuō)明文字folderBrowserDialog1.ShowDialog();//顯示對(duì)話框stringpath=folderBrowserDialog1.SelectedPath;stringapplicationaddress=Application.StartupPath;stream=newFileStream(applicationaddress+"配置文件.txt",FileMode.Create);StreamWriterwriter=newStreamWriter(stream);writer.Write(path);writer.Close();stream.Close();NewMethod(path);}上面提到的NewMethod()方法另定義其代碼如下:privatevoidNewMethod(stringpath){DirectoryInfodir=newDirectoryInfo(path);//實(shí)現(xiàn)MP3格式的加入處理foreach(FileInfofindir.GetFiles("*.mp3")){stringfilepath=f.FullName;num++;stringlistfilename=num.ToString()+"-"+f.Name;//顯示到控件的文件的名稱playlist.Add(listfilename,filepath);//添加到集合的文件名稱this.listBox1.Items.Add(listfilename);}}現(xiàn)在在窗體中添加另一個(gè)groupbox用于裝入4個(gè)label控件其中兩個(gè)命名為“當(dāng)前進(jìn)度”和“總時(shí)間”另兩個(gè)命名為“空”,位置安排如圖:其中兩個(gè)不去名字的原因是為了在運(yùn)行的時(shí)候不影響視覺(jué)是的不適,即使界面美觀,但他們的存在又是有必有的如上圖中的當(dāng)前時(shí)間和總時(shí)間下面顯示的時(shí)間值就是那兩個(gè)沒(méi)有任何名字的標(biāo)簽顯示的,它們并沒(méi)不需要你輸入代碼但是在timer控件中的tick事件中將會(huì)用到它們,即讓它們顯示要顯示的時(shí)間?,F(xiàn)在就來(lái)添加一個(gè)timer控件其默認(rèn)名為timer1不需要改動(dòng),如果為了識(shí)別也可以改個(gè)名字,在后面還需要添加這種控件,這里的timer1的tick事件代碼如下:privatevoidtimer1_Tick(objectsender,EventArgse){try{this.label3.Text=axWindowsMediaPlayer1.currentMedia.getItemInfo("title");this.label4.Text=axWindowsMediaPlayer1.Ctlcontrols.currentPositionString;this.label6.Text=axWindowsMediaPlayer1.currentMedia.durationString;}catch(Exception){return;}}現(xiàn)在在窗體的右下角有加入兩個(gè)標(biāo)簽控件其中一個(gè)命名為“當(dāng)前時(shí)間”另一個(gè)不需要任何命名,用于顯示但前時(shí)間,而命名的那個(gè)只是為了在顯示當(dāng)前時(shí)間時(shí)在前面起個(gè)說(shuō)明作用,讓用戶看起來(lái)好理解而已,也適合人們視覺(jué)上的習(xí)慣?,F(xiàn)在已經(jīng)實(shí)現(xiàn)了播放器的基本功能了。需要塊進(jìn)的時(shí)候可以拖動(dòng)窗體上的播放位置控件嗎,這個(gè)空間按是windows控件上自帶的所以我就沒(méi)有另外添加了,調(diào)節(jié)播放位置的方法如下圖:在控制播放音量的時(shí)候方法和控制播放位置方法一樣只不過(guò)調(diào)節(jié)播放器位置控件是我另外添加的而已。
接下來(lái)就是智能關(guān)機(jī)的事了直接調(diào)用系統(tǒng)的shutdown.exe來(lái)實(shí)現(xiàn)計(jì)算機(jī)的關(guān)閉、重啟和用戶注銷(xiāo)。方法如下:首先進(jìn)行引用usingSystem.Dinogistics;空間。在關(guān)機(jī)鍵的單擊事件中寫(xiě)入代碼如下:if((MessageBox.Show("確實(shí)要關(guān)閉計(jì)算機(jī)?","關(guān)閉系統(tǒng)",MessageBoxButtons.YesNo,MessageBoxIcon.Question))==DialogResult.Yes){CmdPc("Shutdown.exe-s-f");}實(shí)現(xiàn)這個(gè)關(guān)機(jī)的代碼比較簡(jiǎn)單,當(dāng)實(shí)現(xiàn)定時(shí)關(guān)機(jī)是就又要用到timer組件了。在定時(shí)的時(shí)候我還選用了dateTimePicker組件進(jìn)行定時(shí)關(guān)機(jī)的設(shè)置的時(shí)間設(shè)置,用了這個(gè)組件用戶還可以通過(guò)它查看日歷方法圖如下:如果你在設(shè)置時(shí)間時(shí)誤設(shè)置了錯(cuò)誤的時(shí)間——就是你設(shè)置的時(shí)間比當(dāng)前時(shí)間還小聚會(huì)彈出對(duì)話框提示你設(shè)置正確的時(shí)間,在設(shè)置好定時(shí)時(shí)間后,就單擊確定按鈕,然后彈出對(duì)話框提示你的定時(shí)設(shè)置成功(定時(shí)關(guān)機(jī)設(shè)置成功?。酉聛?lái)就是等待關(guān)機(jī)了。到這里我的音樂(lè)播放器的設(shè)計(jì)過(guò)程已經(jīng)完成了。
自我總結(jié)首先談?wù)勎覍?duì).net的粗淺認(rèn)識(shí)吧,.NETFramework是微軟推出的一個(gè)全新概念。.NET的全稱為.NETFramework,又被譯為.NET框架。簡(jiǎn)單地講,.NET代表了一個(gè)集合、一個(gè)環(huán)境、一個(gè)可以支持下一代internet可編程的平臺(tái)。.NET是生成和運(yùn)行應(yīng)用程序所依托的基礎(chǔ)平臺(tái)。微軟公司將.NET描述為“支持生成和運(yùn)行下一代應(yīng)用程序和XMLWebSerices的內(nèi)部windows組件”,主要目標(biāo)是建立一種企業(yè)服務(wù)的開(kāi)放機(jī)制,這種機(jī)制是面向WebSericesde。我用的是C#編程語(yǔ)言設(shè)計(jì)的播放器,C#是編寫(xiě)應(yīng)用程序的編程語(yǔ)言之一;而visualstudio則是一種集成開(kāi)發(fā)環(huán)境,再該環(huán)境下能夠方便、高效的編寫(xiě)、調(diào)試、生成應(yīng)用程序。.net技術(shù)-.NET的核心技術(shù):
WebServices是.NET的核心技術(shù)。那什么是WebServices呢?正如Web是新一代的用戶與應(yīng)用交互的途徑,XML是新一代的程序之間通訊的途徑一樣,WebServices是新一代的計(jì)算機(jī)與計(jì)算機(jī)之間一種通用的數(shù)據(jù)傳輸格式,可讓不同運(yùn)算系統(tǒng)更容易進(jìn)行數(shù)據(jù)交換。WebServices有以下幾點(diǎn)特性:Webservices允許應(yīng)用之間共享數(shù)據(jù);Webservices分散了代碼單元;基于XML這種internet數(shù)據(jù)交換的通用語(yǔ)言,實(shí)現(xiàn)了跨平臺(tái)、跨操作系統(tǒng)、跨語(yǔ)言。那微軟的ASP和Webservices究竟有什么不同呢,ASP仍然是一個(gè)集中式計(jì)算模型的產(chǎn)物,只不過(guò)是披著一層互聯(lián)網(wǎng)的外衣。但WebServices卻是一個(gè)迥然不同的精靈,它秉承“軟件就是服務(wù)”的真言,同時(shí)順應(yīng)分布式計(jì)算模式的潮流。而它的存在形式又與以往軟件不同。這種組件模式,小巧、單一,對(duì)于開(kāi)發(fā)人員來(lái)講,開(kāi)發(fā)成本較低。
在這里指出Webservices不是微軟發(fā)明的,同樣也不屬于微軟專有。Webservices是一個(gè)開(kāi)放的標(biāo)準(zhǔn),和HTTP、XML、SOAP一樣。他們是一個(gè)工業(yè)標(biāo)準(zhǔn)而非微軟標(biāo)準(zhǔn),WS-I是為了促進(jìn)WebServices互通性的聯(lián)盟組織,最初是由IBM和微軟所發(fā)起,其它的成員包括BEASystem、惠普計(jì)算機(jī)(HP)、甲骨文(Oracle)、英特爾(Intel)和SUN計(jì)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025專業(yè)倉(cāng)儲(chǔ)合同
- 2025國(guó)英置業(yè)合同成本手冊(cè)
- 2025年度農(nóng)村私人魚(yú)塘承包與綠色漁業(yè)發(fā)展合作合同
- 二零二五年度農(nóng)產(chǎn)品品牌營(yíng)銷(xiāo)委托收購(gòu)合作協(xié)議3篇
- 二零二五年度車(chē)輛未過(guò)戶期間的車(chē)輛事故免責(zé)條款合同3篇
- 二零二五年度火鍋店轉(zhuǎn)讓及底料供應(yīng)協(xié)議3篇
- 二零二五年度執(zhí)業(yè)藥師藥品市場(chǎng)營(yíng)銷(xiāo)推廣服務(wù)合同3篇
- 2025年度特種水產(chǎn)品養(yǎng)殖項(xiàng)目合伙經(jīng)營(yíng)合同3篇
- 二零二五年度特色小鎮(zhèn)建設(shè)住房合作協(xié)議3篇
- 2025年度家庭農(nóng)場(chǎng)規(guī)模化養(yǎng)豬場(chǎng)整體轉(zhuǎn)讓合同3篇
- 2025年1月八省聯(lián)考河南新高考物理試卷真題(含答案詳解)
- 物業(yè)管理服務(wù)人員配備及崗位職責(zé)
- 鄭州2024年河南鄭州市惠濟(jì)區(qū)事業(yè)單位80人筆試歷年參考題庫(kù)頻考點(diǎn)試題附帶答案詳解
- 深靜脈血栓的手術(shù)預(yù)防
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 物理 含解析
- 第5章煤炭氣化技術(shù)
- 全口義齒修復(fù)匯總
- 業(yè)余無(wú)線電臺(tái)設(shè)置(變更)申請(qǐng)表
- 擔(dān)保公司員工守則(共18頁(yè))
- 錄音藝術(shù)教學(xué)大綱
- 初中化學(xué)教學(xué)中的教學(xué)瓶頸及解決策略探討
評(píng)論
0/150
提交評(píng)論