团队编程--MP3播放器
设计思路:
这次的作业是一个MP3播放器,它是一个团队项目。由于我们都没接触过这类的编程。刚开始的时候我们是不知道从什么地方着手的。经过我们的商量我们决定从现在市场主流的音乐播放器上找到几个主要的功能给它分离做出来。由于团队的整体能力问题我们选择了用C#中windows media player控件来做这个简易的MP3播放器。它的功能用主要添加MP3文件到一个列表里,播放音乐文件,删除列表里的文件。查看音乐列表里的Mp3文件的路径。
代码具体实现:
namespace _0_3MP3播放器
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void PlaySong() //MP3播放的PlaySong
{
string li = "";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
li = listBox1.SelectedItem.ToString();
axWindowsMediaPlayer1.URL = li;
}
private void AddFiles(string path, ListBox listBox1) //在列表中添加文件的方法
{
int num=0;
num = listBox1.Items.Count;
DirectoryInfo dir = new DirectoryInfo(path);
foreach (FileInfo f in dir.GetFiles("*.mp3"))
{
this.listBox1.Items.Add(f.FullName);
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e) //播放歌曲
{
PlaySong();
}
private void button1_Click(object sender, EventArgs e) //添加歌曲到播放列表
{
openFileDialog1.Filter = "*.mp3|*.mp3";
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
string path = this.openFileDialog1.FileName;
FileInfo f = new FileInfo(path);
this.listBox1.Items.Add(f.FullName);
}
}
软件调试:

FPS耗时:
|
psp |
Personal Software Process Stages |
Time(h) |
|
planning |
.计划 |
6 |
|
.Estimate |
.估计这个任务需要多长时间 |
6 |
|
Development |
.开发 |
64 |
|
.Analysis |
.需求分析 |
5 |
|
.Design Spec |
.生成设计文档 |
6 |
|
.Design Review |
.设计复审 |
4 |
|
• Coding Standard |
.代码规范 |
2 |
|
• Design |
.具体设计 |
10 |
|
• Coding |
.具体编码 |
15 |
|
• Code Review |
.代码复审 |
8 |
|
• Text |
.测试 |
22 |
|
Reporting |
.报告 |
6 |
|
• Test Report |
.测试报告 |
2 |
|
• Size Measurement |
.计算工作量 |
1 |
|
• Postmortem&Process Improvement Plan |
.事后总结并提出改进计划 |
4 |
团队编程总结:
第一次团队编程并不没有像想象中那么好。在我们确定了设计的思路,然后进行模块分工时并没有能像计划的那样完成。因为队员的能力有差异,所以有的模块没在规定的时间内完成。因此我们的这此作业并没有做完整,因为有两个人没有完成他们的所分配到的模块,这个缺失我们会在下次作业用团队的力量共同完成。
对于这次团队编程我个人的感受是这样的,这个团队要有明确的分工与合作,每个人首先都要尽自己最大的努力去完成自己的任务。还要在一起共同去讨论各抒己见来一起确定软件的设计思路。只有这样到分工时每个人就可以清楚明白自己所做的模块要完成什么功能了。第一次毕竟不能做到尽善尽美,但是我相信我们会在接下来的配合共同努力的。
分工:
队长 孟强强 1082 负责代码规范界面设计和歌曲列表模块 4
队员 李俊鹏 1041 负责歌曲播放模块 1
李永朋 1059 负责文件路径模块 1
娄文涛 1074 负责FPS耗时统计 1
郑世杰 1161 负责记录测试调试的出现的问题 1
王杰 1101 负责代码复查和相关知识的查找 1
乔运超 1085 负责删除列表中的歌曲模块 1
团队编程--MP3播放器的更多相关文章
- MP3播放器团队项目
一.设计思路 程序要求能播放MP3文件,因此需调用库中的播放方法:右键工具箱选择项,添加com组件,选择window media player后工具箱就会多一个控件,然后拖到窗体中就OK了.另在窗体中 ...
- 从零开始学习PYTHON3讲义(十四)写一个mp3播放器
<从零开始PYTHON3>第十四讲 通常来说,Python解释执行,运行速度慢,并不适合完整的开发游戏.随着电脑速度的快速提高,这种情况有所好转,但开发游戏仍然不是Python的重点工作. ...
- 你也可以用java的swing可以做出这么炫的mp3播放器_源码下载
I had published the blog : 你用java的swing可以做出这么炫的mp3播放器吗? and to display some screenshots about this M ...
- 你用java的swing可以做出这么炫的mp3播放器吗?
这个mp3播放器是基于java的swing编写的,我认为界面还是可以拿出来和大家看一看评一评. 先说说创作的初衷,由于前段时间工作不是很忙,与其闲着,还不如找一些东西来给自己捣腾捣腾,在 之前写的 j ...
- MP3播放器的实现
今天,基本上实现了MP3播放器的基本功能,现在总结一下. 首先,下载服务器端的MP3列表,这里用到了下载技术和解析XML文件技术. 下载参考(http://blog.csdn.net/huim_lin ...
- 安卓MP3播放器开发实例(1)之音乐列表界面
学习安卓开发有一年了,想想这一年的努力,确实也收获了不少.也找到了比較如意的工作. 今天准备分享一个以前在初学阶段练习的一个项目.通过这个项目我真正的找到了开发安卓软件的感觉,从此逐渐步入安卓开发的正 ...
- 开源mp3播放器--madplay 编译和移植 简记
madplay是一款开源的mp3播放器. http://madplay.sourcearchive.com/ 下面简单记录一下madplay的编译与移植到ARM开发板上的过程 一.编译x86版本的ma ...
- 基于Stm32的MP3播放器设计与实现
原创博文,转载请注明出处 这是我高级电子技术试验课做的作业,拿来共享一下.项目在安福莱例程基础之上进行的功能完善,里面的部分内容可参考安福莱mp3例程.当然用的板子也是安福莱的板子,因为算起来总共做了 ...
- x宝23大洋包邮的老式大朝华MP3播放器简单评测
(纯兴趣测评,非广告) 最近逛X宝,看到了这个古董级MP3播放器居然还在售,于是脑抽+情怀泛滥买了一个. 然后呢,从遥远的深圳跨越好几千公里邮过来了这个玩意: 那节南孚5号电池是我自己的,是为了对比一 ...
随机推荐
- 认识node
node是一个基于Chrome V8引擎的ECMAScript运行环境,使用了ECMAScript语法规范.有了node之后,js文件就能运行在服务器端了,也可以用来创建web服务器. node的主要 ...
- 【转】如何内网搭建NuGet服务器
原文:http://www.cnblogs.com/zhangweizhong/p/7755332.html NuGet 是.NET程序员熟知的工具,它可以直接安装开源社区中的各个公用组件,可以说是非 ...
- JavaWeb基础—JS学习小结
JavaScript是一种运行在浏览器中的解释型的编程语言 推荐:菜鸟教程一.简介js:javascript是基于对象[哪些基本对象呢]和和事件驱动[哪些主要事件呢]的语言,应用在客户端(注意与面向对 ...
- c# multi-ply download ui
first neet add an user control "DownloadBar": /* Created by SharpDevelop. User: gwang Date ...
- UOJ UR#9 App管理器
题目传送门 题目大意大概就是给你一个混合图(既有有向边又有无向边),对于每条无向边,u-v,问删去u->v,或删去v->u那条可以使新图强连通.(保证数据有解). 这道题前几个数据点送分. ...
- window下查杀占用端口的进程
一. 查找占用的端口进程号,比如8080 C:> netstat –ano|findstr 8080 C:\Users\chry>netstat -ano | findstr 8080 T ...
- thymeleaf多条件判断
解决办法:将逻辑关系全部写到大括号里面 <div th:if="${task.getStatusStr() !='已延期' ||task.getStatusStr()!='已完成'}& ...
- oracle的多表合并查询-工作心得
本随笔文章,由个人博客(鸟不拉屎)转移至博客园 发布时间: 2018 年 11 月 29 日 原地址:https://niaobulashi.com/archives/oracle-select-al ...
- CHAPTER 19 Ordering the World 第19章 分类世界
CHAPTER 19 Ordering the World 第19章 分类世界 Our planet is home to a bewildering variety of plants and an ...
- Netty源码分析第4章(pipeline)---->第4节: 传播inbound事件
Netty源码分析第四章: pipeline 第四节: 传播inbound事件 有关于inbound事件, 在概述中做过简单的介绍, 就是以自己为基准, 流向自己的事件, 比如最常见的channelR ...