1、需求分析:

作一个简单的MP3播放器,并能显示播放文件的路径。

2、设计思路:

用窗体设计播放器的界面,以市面上主流的播放器为标准,采用一个窗体的界面。

3、实现的功能:

第一是能播放MP3文件,而且显示所播放文件的路径,添加的有打开、暂停、停止、快进、快退按钮。

本来想加个播放列表,但是涉及到添加、播放顺序等功能,难度有点大,最终没有实现。

界面设计:

代码实现:

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Media;
using System.Drawing.Drawing2D;
using System.Data.OleDb; namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{ public Form1()
{
InitializeComponent();
} #region private void button2_Click(object sender, EventArgs e)
{ OpenFileDialog openFile = new OpenFileDialog(); openFile.Filter = "mp3文件|*.mp3"; if (DialogResult.OK == openFile.ShowDialog())
{
axWindowsMediaPlayer1.URL =
openFile.FileName;
}
this.textBox1.Text = openFile.FileName.ToString();
} private void button3_Click(object sender, EventArgs e)
{
if (button3.Text == "暂停")
{
axWindowsMediaPlayer1.Ctlcontrols.pause();
button3.Text = "播放"; }
else
{
axWindowsMediaPlayer1.Ctlcontrols.play(); button3.Text = "暂停"; } } private void button4_Click(object sender, EventArgs e)
{
axWindowsMediaPlayer1.Ctlcontrols.stop();
} private void button1_Click(object sender, EventArgs e)
{
this.axWindowsMediaPlayer1.Ctlcontrols.fastForward();
} private void button5_Click(object sender, EventArgs e)
{
this.axWindowsMediaPlayer1.Ctlcontrols.fastReverse();
}
}
} #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 计算工作量

  • Postmortem 事后总结

0.5

团队分工:

寝室一共和有七个人:朱华建(我),王斌,杨坤,李旭东,爨彭鑫,王鹏正,张峰。

主要负责人:朱华建

界面设计:张峰,李旭东

代码实现:朱华建,王斌

功能测试:杨坤,爨彭鑫

记录:王鹏正

团队最困难的是代码实现,对于做播放器的知识不是很多。

团队得分:

朱华建:2分

张峰1.5分

李旭东1.5分

王斌2分

杨坤1分

爨彭鑫1分

王鹏正1分

总结:

这次作业很新颖,播放器见得多却不知道背后的故事,这次老师让我们做这个播放器我们有很大兴趣。

但是在实际中实现播放功能却不是那么简单,特别对于播放器的内核代码感觉很难,但是老师同意使用AXwindowsmediaplayer这个控件问题就很简单了,但是对于增加一个播放列表却不是很容易,折腾很多也没做出来,最后只得作罢。但是我们不会放弃,后续一定会加上这个功能。

第五次作业+4505B寝室队的更多相关文章

  1. 第五次作业——Alpha项目测试

    第五次作业——Alpha项目测试 格式描述: 这个作业属于哪个课程 2019秋软工17级系统分析与设计 这个作业要求在哪里 作业要求 团队名称 杨荣模杰和他的佶祥虎 这个作业的目标 测试其他组项目并写 ...

  2. 耿丹CS16-2班第五次作业汇总

    Deadline: 2016-10-26 23:59 作业内容 实验4-1 求1到20的阶乘的和,其中求阶乘用函数完成. 实验4-2 写一个判素数的函数,在主函数输入一个整数,输出其是否是素数的信息. ...

  3. C 语言学习 第五次作业总结

    第五次作业,主要学习和复习的是几种循环结构的使用. 在前一次的课堂上,同学们已经学习了分支语句的使用.分支语句和循环语句配合使用,就可以写出更多的,逻辑功能丰富的代码了. 逻辑功能的丰富,也意味着学习 ...

  4. C语言第五次作业——循环结构

    C语言程序设计第五次作业--循环结构(1) (一)改错题 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增 ...

  5. BZOJ_3809_Gty的二逼妹子序列 && BZOJ_3236_[Ahoi2013]作业 _莫队+分块

    BZOJ_3809_Gty的二逼妹子序列 && BZOJ_3236_[Ahoi2013]作业 _莫队+分块 Description Autumn和Bakser又在研究Gty的妹子序列了 ...

  6. 17秋 软件工程 团队第五次作业 Alpha

    题目:团队作业--Alpha冲刺 17秋 软件工程 团队第五次作业 Alpha 12次Scrum 第一次Scrum 第二次Scrum 第三次Scrum 第四次Scrum 第五次Scrum 第六次Scr ...

  7. 【Luogu4396】[AHOI2013]作业(莫队)

    [Luogu4396][AHOI2013]作业(莫队) 题面 洛谷 题解 模板题 #include<iostream> #include<cstdio> #include< ...

  8. C语言基础课第五次作业

    PTA第五次作业 7-2 统计一行文本中的单词个数 一.程序代码 #include<stdio.h> int main(void) { ]; ,word=; char c; gets(st ...

  9. 17秋 软件工程 团队第五次作业 Alpha Scrum1

    题目:团队作业--Alpha冲刺 17秋 软件工程 团队第五次作业 Alpha Scrum1 各个成员在 Alpha 阶段认领的任务 伟航:督促和监督团队进度,协调组内合作 港晨:APP前端页面编写: ...

随机推荐

  1. Atomic原子操作原理剖析

    前言 绝大部分 Objective-C 程序员使用属性时,都不太关注一个特殊的修饰前缀,一般都无脑的使用其非默认缺省的状态,他就是 atomic. @interface PropertyClass @ ...

  2. SQL进阶语法的多表操作

    AS别名 多张表联合操作,如果表多,字段名长,不方便阅读.这里我们可以使用  as  关键字来对字段名设置别名. as也可以省略,看个人喜好,在这里我还是支持把 as 写上,这样我们在面对复杂的SQL ...

  3. 使用uliweb自动创建表单

    1.在apps/blog目录下创建form.py文件 #coding:utf-8 from uliweb.form import* class blogform(Form): user = Strin ...

  4. 简单的贝叶斯分类器的python实现

    # -*- coding: utf-8 -*- ''' >>> c = Classy() >>> c.train(['cpu', 'RAM', 'ALU', 'io ...

  5. 4320: ShangHai2006 Homework

    4320: ShangHai2006 Homework 链接 分析: 分块.对权值模数进行分块,模数小于$\sqrt V$的($V$为权值上界),暴力处理. 模数大于$\sqrt V$的,设模数是k, ...

  6. CF1111E Tree 树链剖分,DP

    CF1111E Tree 过年了,洛咕还没爬这次的题,先放个CF的链接吧. 补个LG传送门. 对于每个询问点\(x\),设它的祖先即不能和它放在同一个集合中的点的个数为\(f[x]\),设\(dp[i ...

  7. shell命令注意点

    unset 不能删除readonly的变量 实例: #!/bin/bash name="lalala" readonly name unset name 执行结果: line5:u ...

  8. jquery几秒钟之后跳转页面

    <script> window.onload = function() { var el = document.getElementById('js-tip-timer'), i = 5; ...

  9. React Native开启实时重载(Enable live Reload)

    传统的原生应用开发中,每一次修改都需要重新编译. 但在 RN 中你只需要刷新一下 JavaScript 代码,就能立刻看到变化. 操作 1.安卓模拟器 按下Ctrl + M,Enable live R ...

  10. 深入浅出js中的this

    Q:this是什么? A:this是Javascript语言的一个关键字,它代表函数运行时,自动生成的一个内部对象,在每个 function 中自动根据作用域(scope) 确定, 指向的是此次调用者 ...