第五次作业+4505B寝室队
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 | 计算工作量 |
1 |
| • Postmortem | 事后总结 |
0.5 |
团队分工:
寝室一共和有七个人:朱华建(我),王斌,杨坤,李旭东,爨彭鑫,王鹏正,张峰。
主要负责人:朱华建
界面设计:张峰,李旭东
代码实现:朱华建,王斌
功能测试:杨坤,爨彭鑫
记录:王鹏正
团队最困难的是代码实现,对于做播放器的知识不是很多。
团队得分:
朱华建:2分
张峰1.5分
李旭东1.5分
王斌2分
杨坤1分
爨彭鑫1分
王鹏正1分
总结:
这次作业很新颖,播放器见得多却不知道背后的故事,这次老师让我们做这个播放器我们有很大兴趣。
但是在实际中实现播放功能却不是那么简单,特别对于播放器的内核代码感觉很难,但是老师同意使用AXwindowsmediaplayer这个控件问题就很简单了,但是对于增加一个播放列表却不是很容易,折腾很多也没做出来,最后只得作罢。但是我们不会放弃,后续一定会加上这个功能。
第五次作业+4505B寝室队的更多相关文章
- 第五次作业——Alpha项目测试
第五次作业——Alpha项目测试 格式描述: 这个作业属于哪个课程 2019秋软工17级系统分析与设计 这个作业要求在哪里 作业要求 团队名称 杨荣模杰和他的佶祥虎 这个作业的目标 测试其他组项目并写 ...
- 耿丹CS16-2班第五次作业汇总
Deadline: 2016-10-26 23:59 作业内容 实验4-1 求1到20的阶乘的和,其中求阶乘用函数完成. 实验4-2 写一个判素数的函数,在主函数输入一个整数,输出其是否是素数的信息. ...
- C 语言学习 第五次作业总结
第五次作业,主要学习和复习的是几种循环结构的使用. 在前一次的课堂上,同学们已经学习了分支语句的使用.分支语句和循环语句配合使用,就可以写出更多的,逻辑功能丰富的代码了. 逻辑功能的丰富,也意味着学习 ...
- C语言第五次作业——循环结构
C语言程序设计第五次作业--循环结构(1) (一)改错题 输出华氏摄氏温度转换表:输入两个整数lower和upper,输出一张华氏摄氏温度转换表,华氏温度的取值范围是{lower,upper},每次增 ...
- BZOJ_3809_Gty的二逼妹子序列 && BZOJ_3236_[Ahoi2013]作业 _莫队+分块
BZOJ_3809_Gty的二逼妹子序列 && BZOJ_3236_[Ahoi2013]作业 _莫队+分块 Description Autumn和Bakser又在研究Gty的妹子序列了 ...
- 17秋 软件工程 团队第五次作业 Alpha
题目:团队作业--Alpha冲刺 17秋 软件工程 团队第五次作业 Alpha 12次Scrum 第一次Scrum 第二次Scrum 第三次Scrum 第四次Scrum 第五次Scrum 第六次Scr ...
- 【Luogu4396】[AHOI2013]作业(莫队)
[Luogu4396][AHOI2013]作业(莫队) 题面 洛谷 题解 模板题 #include<iostream> #include<cstdio> #include< ...
- C语言基础课第五次作业
PTA第五次作业 7-2 统计一行文本中的单词个数 一.程序代码 #include<stdio.h> int main(void) { ]; ,word=; char c; gets(st ...
- 17秋 软件工程 团队第五次作业 Alpha Scrum1
题目:团队作业--Alpha冲刺 17秋 软件工程 团队第五次作业 Alpha Scrum1 各个成员在 Alpha 阶段认领的任务 伟航:督促和监督团队进度,协调组内合作 港晨:APP前端页面编写: ...
随机推荐
- Atomic原子操作原理剖析
前言 绝大部分 Objective-C 程序员使用属性时,都不太关注一个特殊的修饰前缀,一般都无脑的使用其非默认缺省的状态,他就是 atomic. @interface PropertyClass @ ...
- SQL进阶语法的多表操作
AS别名 多张表联合操作,如果表多,字段名长,不方便阅读.这里我们可以使用 as 关键字来对字段名设置别名. as也可以省略,看个人喜好,在这里我还是支持把 as 写上,这样我们在面对复杂的SQL ...
- 使用uliweb自动创建表单
1.在apps/blog目录下创建form.py文件 #coding:utf-8 from uliweb.form import* class blogform(Form): user = Strin ...
- 简单的贝叶斯分类器的python实现
# -*- coding: utf-8 -*- ''' >>> c = Classy() >>> c.train(['cpu', 'RAM', 'ALU', 'io ...
- 4320: ShangHai2006 Homework
4320: ShangHai2006 Homework 链接 分析: 分块.对权值模数进行分块,模数小于$\sqrt V$的($V$为权值上界),暴力处理. 模数大于$\sqrt V$的,设模数是k, ...
- CF1111E Tree 树链剖分,DP
CF1111E Tree 过年了,洛咕还没爬这次的题,先放个CF的链接吧. 补个LG传送门. 对于每个询问点\(x\),设它的祖先即不能和它放在同一个集合中的点的个数为\(f[x]\),设\(dp[i ...
- shell命令注意点
unset 不能删除readonly的变量 实例: #!/bin/bash name="lalala" readonly name unset name 执行结果: line5:u ...
- jquery几秒钟之后跳转页面
<script> window.onload = function() { var el = document.getElementById('js-tip-timer'), i = 5; ...
- React Native开启实时重载(Enable live Reload)
传统的原生应用开发中,每一次修改都需要重新编译. 但在 RN 中你只需要刷新一下 JavaScript 代码,就能立刻看到变化. 操作 1.安卓模拟器 按下Ctrl + M,Enable live R ...
- 深入浅出js中的this
Q:this是什么? A:this是Javascript语言的一个关键字,它代表函数运行时,自动生成的一个内部对象,在每个 function 中自动根据作用域(scope) 确定, 指向的是此次调用者 ...