Specific design:
The main use of the Windows Media Player control, set different property values to achieve its play, pause, fast forward, rewind and other functions.
Code implementation: Form1 Form
Using system;using system.collections.generic;using system.componentmodel;using system.data;using System.Drawing; Using system.linq;using system.text;using system.windows.forms;namespace Player {public partial class Frmmplayer:form {public Frmmplayer () {InitializeComponent (); } private void Frmmplayer_load (object sender, EventArgs e) {tkbvolumne.value = 5; AxMPlayer.settings.volume = Tkbvolumne.value; Axmplayer.uimode = "None"; } public string name; Open Click event private void Btnopenfile_click (object sender, EventArgs e) {string fname; OpenFileDialog Dlgopen = new OpenFileDialog (); Dlgopen. Filter = "MP3 (*. MP3) |*. MP3 "; if (Dlgopen. ShowDialog () = = DialogResult.OK) {fname = Dlgopen. FileName; Name = Dlgopen. Safefilename; Axmplayer.url = fname; } } //The play button private void Btnplay_click (object sender, EventArgs e) {AxMPlayer.Ctlcontrols.play (); }//"Pause" button private void Btnpause_click (object sender, EventArgs e) {Axmplayer.ctlcon Trols.pause (); tmplayer.enabled = false; }//"Stop" button private void Btnstop_click (object sender, EventArgs e) {axmplayer.ctlcontrols. Stop (); tmplayer.enabled = false; }//"Fast forward" button private void Btnfastforward_click (object sender, EventArgs e) {Axmplayer.ctlco Ntrols.fastforward (); }//"Rewind" button private void Btnfastreverse_click (object sender, EventArgs e) {Axmplayer.ctlco Ntrols.fastreverse (); }//"Full screen" button private void Btnfullscreen_click (object sender, EventArgs e) {if (axmplayer.pl Aystate = = WMPLib.WMPPlayState.wmppsPlaying) {Axmplayer.fullscreen = TruE Axmplayer.uimode = "full"; }}//This event is triggered when playback media is changed private void Axmplayer_playstatechange (object sender, Axwmplib._wmpocxevents_pla Ystatechangeevent e) {lbltotaltime.text + = AxMPlayer.currentMedia.duration; Tmplayer.enabled = true; Lblsongname.text = "Song name:" + name; } private void Tmplayer_tick (object sender, EventArgs e) {lblescapetime.text = "time already played:" + Axmpl Ayer. Ctlcontrols.currentposition + "seconds"; private void Tkbvolumne_scroll (object sender, EventArgs e) {AxMPlayer.settings.volume = Tkbvol Umne. Value; }//Close button private void Btnexit_click (object sender, EventArgs e) {application.exit (); } }}
Test:
Time-consuming analysis of the PSP:
Psp |
Personal Software Process Stages |
Time (h) |
Planning |
Plan |
3 |
· Estimate |
• Estimate how long this task will take |
6 |
Development |
Development |
30 |
· Analysis |
• Demand Analysis |
4 |
· Design Spec |
• Generate design files |
13 |
· Design Review |
• Design Review |
1 |
· Coding Standard |
• Code Specification |
1 |
· Design |
• Specific Design |
2 |
· Coding |
• Specific coding |
12 |
· Code Review |
• Code review |
2 |
· Test |
• Test |
1 |
Reporting |
Report |
2 |
· Test Report |
• Test reports |
1 |
· Size Measurement |
• Computational effort |
1 |
· Postmortem & Process Improvement Plan |
• Post-mortem summary and propose process improvement plans |
5 |
Summary of Team programming:
In doing this player, we feel that our knowledge is too narrow, there is too much knowledge we do not know, in this program is reflected, because we did not learn the Windows Media Player control, its properties are not very understanding, so in the program "File name:" "Play Total Time" The play time has not been obtained, we will try to make it out again.
The Code of the program is canonical.
Fifth time Assignment