第五次作业+4505B寝室队
1、需求分析:
作一个简单的MP3播放器,并能显示播放文件的路径。
2、设计思路:
用窗体设计播放器的界面,以市面上主流的播放器为标准,采用一个窗体的界面。
3、实现的功能:
第一是能播放MP3文件,而且显示所播放文件的路径,添加的有打开、暂停、停止、快进、快退按钮。
本来想加个播放列表,但是涉及到添加、播放顺序等功能,难度有点大,最终没有实现。
界面设计:
代码实现:
1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Text; 7 using System.Windows.Forms; 8 using System.IO; 9 using System.Media; 10 using System.Drawing.Drawing2D; 11 using System.Data.OleDb; 12 13 namespace WindowsFormsApplication2 14 { 15 public partial class Form1 : Form 16 { 17 18 19 20 21 public Form1() 22 { 23 InitializeComponent(); 24 } 25 26 #region 27 28 29 private void button2_Click(object sender, EventArgs e) 30 { 31 32 33 OpenFileDialog openFile = new OpenFileDialog(); 34 35 openFile.Filter = "mp3文件|*.mp3"; 36 37 38 if (DialogResult.OK == openFile.ShowDialog()) 39 { 40 axWindowsMediaPlayer1.URL = 41 openFile.FileName; 42 } 43 this.textBox1.Text = openFile.FileName.ToString(); 44 } 45 46 private void button3_Click(object sender, EventArgs e) 47 { 48 if (button3.Text == "暂停") 49 { 50 axWindowsMediaPlayer1.Ctlcontrols.pause(); 51 button3.Text = "播放"; 52 53 } 54 else 55 { 56 axWindowsMediaPlayer1.Ctlcontrols.play(); 57 58 button3.Text = "暂停"; 59 60 } 61 62 63 } 64 65 private void button4_Click(object sender, EventArgs e) 66 { 67 axWindowsMediaPlayer1.Ctlcontrols.stop(); 68 } 69 70 private void button1_Click(object sender, EventArgs e) 71 { 72 this.axWindowsMediaPlayer1.Ctlcontrols.fastForward(); 73 } 74 75 private void button5_Click(object sender, EventArgs e) 76 { 77 this.axWindowsMediaPlayer1.Ctlcontrols.fastReverse(); 78 } 79 } 80 } 81 82 #endregion
PSP耗时分析:
Personal Software Process Stages | /小时 | |
Planning | 计划 | 3 |
• Estimate | 估计这个任务需要多长时间 | 8 |
Development | 开发 | 4 |
• Analysis | 需求分析 | 0.5 |
• Design Spec | 生成设计文档 | 1 |
• Coding Standard | 代码规范 | 2 |
• Design | 具体设计 | 2 |
• Coding | 具体代码 | 3 |
• Code Review | 代码复审 | 1 |
• Text | 测试 | 1 |
Reporting | 报告 | 2 |
• Test Report | 测试报告 | 1 |
• Size Measurement | 计算工作量 |
1 |
• Postmortem | 事后总结 |
0.5 |
团队分工:
寝室一共和有七个人:朱华建(我),王斌,杨坤,李旭东,爨彭鑫,王鹏正,张峰。
主要负责人:朱华建
界面设计:张峰,李旭东
代码实现:朱华建,王斌
功能测试:杨坤,爨彭鑫
记录:王鹏正
团队最困难的是代码实现,对于做播放器的知识不是很多。
团队得分:
朱华建:2分
张峰1.5分
李旭东1.5分
王斌2分
杨坤1分
爨彭鑫1分
王鹏正1分
总结:
这次作业很新颖,播放器见得多却不知道背后的故事,这次老师让我们做这个播放器我们有很大兴趣。
但是在实际中实现播放功能却不是那么简单,特别对于播放器的内核代码感觉很难,但是老师同意使用AXwindowsmediaplayer这个控件问题就很简单了,但是对于增加一个播放列表却不是很容易,折腾很多也没做出来,最后只得作罢。但是我们不会放弃,后续一定会加上这个功能。