第五次作业+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前端页面编写: ...
随机推荐
- oracle 数据库更新 新增 修改 删除
数据增加 INSERT INTO 表名称 [(字段,字段,...)] VALUES (值,值,...) ; 考虑到日后代码的可维护性,一定要使用完整的语法进行数据的增加. 数据修改 UPDATE 表名 ...
- 对象关系映射(ORM)
1.什么是 对象-关系映射 对象-关系映射(Object Relational Mapping,简称ORM,对象关系映射)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,OR ...
- React-Native StyleSheet属性支持
/** * Copyright (c) 2015-present, Facebook, Inc. * All rights reserved. * * This source code is lice ...
- EntityFramework使用动态Lambda表达式筛选数据
public static class PredicateBuilder { public static Expression<Func<T, bool>> True<T ...
- Failed to chmod /Users/fei/Library/Developer/CoreSimulator/Devices/DB5AC3C0错误的解决办法
当XCode遇到此问题的时候,可通过重启模拟器和XCode来解决,拿走不谢
- form提交方式Get与Post详解
form作为Html的一个元素,它就是为了客户端提交数据而产生的,它有两个很重要的属性action和method,action属性指明了处理提交的数据的应用程序的URL,而method有两个值:POS ...
- 【前端模板之路】一、重构的兄弟说:我才不想看你的代码!把HTML给我交出来!
写在前面 随着前端领域的发展和社会化分工的需要,继前端攻城湿之后,又一重要岗位横空出世——重构攻城湿!所谓的重构攻城湿,他们的一大特点之一,就是精通CSS配置文件的编写...前端攻城湿跟重构攻城湿是一 ...
- 180813-Spring之RestTemplate使用小结一
Spring之RestTemplate使用小结 作为一个Java后端,需要通过HTTP请求其他的网络资源可以说是一个比较常见的case了:一般怎么做呢? 可能大部分的小伙伴直接捞起Apache的Htt ...
- git pull fatal: refusing to merge unrelated histories
1.首先我github有个远程仓库,然后我本地有个仓库 本地仓库我新添加了一个文件,然后我去关联(git remote add origin git@github.com:qshilary/gitte ...
- Andorid Studio 模块化开发相关配置
Andorid Studio 模块化开发相关配置 下面以宿主APP模块和Uer_Module模块为例: 第一步:在项目根目录gradle.properties配置文件中添加如下代码 isNeedUse ...