Music Player团队项目(一)
团队成员及分工
团队: Blue 团队共有六人
姓名: 学号后四位: 贡献分:
张 宇(队长) 1152 1+1.8=2.8分
侯贺琦 1027 1+0.7=1.7分
张玉冕 1153 1+0.3=1.3分
康 贺 1169 1+0.3=1.3分
丁志愿 1011 1+0.4=1.4分
李锦城 1040 1+0.5=1.5分
1.确定团队成员绩效评估方法 -->个人在团队中的绩效
2.需求分析及设计思路 由张 宇、李锦城负责
3.界面设计及文档记录 由侯贺琦、张玉冕负责
4.具体代码编写(程序设计) 每个成员都要认领自己认为可以完成的任务
5.测试与调试 由丁志愿、康 贺负责
目标:为了顺利完成团队任务,促进每一个成员的学习。
A 每次集合是否按时到场
B 是否能促进团队的团结。
C 是否能按时在团队合作中按时完成编码任务
D 是否能按时提交每日的工作日志
达到以上要求,根据每个人对团队所做的贡献来评分,凡做一件不利于团队团结和项目进度的行为皆扣相应的分数。
|
姓名 |
张宇 |
侯贺琦 |
李锦城 |
康贺 |
张玉冕 |
丁志愿 |
|
是否按时到会 |
100 |
100 |
100 |
70 |
100 |
100 |
|
会上积极发言 |
100 |
100 |
90 |
100 |
80 |
100 |
|
按时完成各自任务 |
100 |
90 |
95 |
90 |
80 |
90 |
|
提交每日的工作日志 |
100 |
90 |
80 |
80 |
90 |
80 |
|
工作状况分值 |
400 |
380 |
365 |
340 |
350 |
370 |
用户需求:
用户需要一个MP3播放器,程序能够打开MP3文件,并可以播放这个文件。
用户故事:作为一个经常对着电脑的学生,希望能拥有一款MP3播放器,以便于听听歌曲来放松一下自己。
具体设计思路:
1.要让程序知道文件的路径,可以用一个添加按钮来实现。点击按钮打开文件选择窗口,打开一个过滤器:openFileDialog1.Filter = "*.mp3|*.mp3";从而让程序只获取mp3文件。
2.打开这个文件:这个时候其实我们是把它的信息 歌名放在了播放列表里面。在播放列表里面它是有一个索引的。
3.播放这个文件:我们是用COM组件,添加了一个WindowsMediaPlayer,这样只需要把需要播放歌曲的索引赋给这个WMP的URL就行了。就是告诉它播放哪一个歌曲。从而实现播放。
4.播放完关闭文件,然后程序可以给个播放完的提示:这个我们是判断一下WMP中的PlayState播放状态来确定歌曲是否播放完毕,如果状态为Ended就弹出“播放完毕!”消息框。
代码实现:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Threading;
namespace MusicPlayer
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public void PlaySong(int selectNum) //被选中的音乐进行播放
{
MusicPlayer1.URL = playlist[selectNum];
}
]; //播放列表数组
private int num;
public void AddFile(string path) //添加音乐文件方法
{
)
{
num++;
playlist[num] = path;
}
}
public void RemoveFile(int selectNum) //移除音乐文件方法
{
; i++)
{
playlist[i] = playlist[i + ];
}
}
private void Addbtn_Click(object sender, EventArgs e) //添加按钮
{
//打开一个过滤器,只能是以下文件
openFileDialog1.Filter = "*.mp3|*.mp3";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
string path = openFileDialog1.FileName;
FileInfo music = new FileInfo(path);
AddFile(music.FullName); //调用AddFile方法添加音乐文件
string Temp = Convert.ToString(num);
; i <= -Temp.Length; i++)
{
Temp += ' ';
}
Temp += music.Name; //音乐名字
mlist.Items.Add(Temp); //把添加的音乐名字放在播放列表里
}
}
private void Removebtn_Click(object sender, EventArgs e) //移除按钮
{
)
{
RemoveFile(mlist.SelectedIndex); //移除被选中音乐文件
mlist.Items.RemoveAt(mlist.SelectedIndex);
}
}
private void Startbtn_Click(object sender, EventArgs e) //开始播放按钮
{
int Selected;
) //如果播放列表没有歌曲弹出消息框
{
MessageBox.Show("请您先添加歌曲!");
return;
}
&& mlist.Items.Count >) //如果播放列表有歌曲但没选择,就默认播放第一个。
{
Selected = ;
mlist.SelectedIndex = ;
}
else
{
Selected = mlist.SelectedIndex + ; //否则直接播放选中的那一首
}
PlaySong(Selected); //进行播放
}
private void Stopbtn_Click(object sender, EventArgs e) //停止按钮
{
MusicPlayer1.URL = ""; //停止的话重新赋一个空地址
}
private void MusicPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
{ //这是音乐播放完毕的时候给出个提示。
if (MusicPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded) //播放器播放状态,如果播放结束弹出消息框
{
MessageBox.Show("播放完毕!");
}
}
}
}
测试:




PSP耗时分析:






团队编程总结:
在这之前我们宿舍的舍友们基本上不会自主的去练习或者是试着写一些小程序。以至于编程的能力不是太高。所以我这次决定和我的舍友一起来做这个项目,要不然一直不练习也绝不会学到什么东西的。
接手一个项目,首先要有一个总体认识 ,整体衡量项目的各个模块及队员的情况,做到心中有数。
结合项目的要求和队员的情况,根据项目难度及个人能力合理分配任务,以便于能够充分发挥每个人的聪明才智,使项目能顺利完工。
我们首先是把这次的项目先做一个需求分析,也就是这个程序目前需要哪些功能。把功能分成一个个小任务,然后队员领取自己认为可以按时完成的任务。
沟通,协调。
因为是团队合作编程,所以我与我的队员们要及时沟通,我们基础都不算太好,难免会有搞不懂的地方,他们都会来问我,我也会细心的给予讲解。这点很好,有问题就要找Team Leader。但我不参与他们的代码编写,代码编写是他们自己的事情,我只是点拨一下,当然了我也参与到这次的代码编写中,也领取了自己的代码编写任务。我们谁有好的想法都会提出来,选择最好方案来实施,也便于项目顺利进行。
下面是侯贺琦同学的总结:
团队项目总结之个人总结:
对于这次作业,我们的大队长张宇同学起到了很大的带头作用,把我们几个发动起来,很懒的几个人,很感动。张宇同学对此软件的分析很到位,所以我理解的很迅速,尽管我的基础不好,但还是听懂几分,还有分配任务,大队长把任务分成几个小任务,歌曲的插入、列表、移除、播放、提示列表无歌曲,以及播放完毕提示,在空闲时队长给我的讲解也十分到位,我提的问题也都详细的一一讲解,令我茅塞顿开顺利完成任务,在接下来的软件制作当中我也会极力配合张宇同学,让老师给我们的软件打个高分。
Music Player团队项目(一)的更多相关文章
- Java团队项目总结
Java团队项目总结 1.项目实现情况 项目概述: 我们团队项目准备实现一个有关于大富翁有的游戏程序. 大富翁游戏,以经营权为主要的游戏方式,通过购买经营权与架构经营的星级服务来获得最大的利益,当其他 ...
- 团队项目(第二周)—GG队
项目需求规格分析 队员信息 队员 学号 叶尚文(队长) 3116008802 蔡晓晴 3216008808 杜婷萱 3216008809 龙剑初 3116004647 于泽浩 3116004661 项 ...
- AxureRp 打开SVN上的团队项目
打开Axure,在菜单项中,点击 "团队" 菜单,选择 "获取团队项目": 切换到 "SVN" 选项, 填写正确的Axure项目的路径,打开 ...
- 团队项目——编写项目的Spec
团队项目--编写项目的Spec 一.Spec的目标 spec主要用来说明软件的外部功能,和用户的交互情况,主要用来说明软件内部的设计.图片编辑器是与生活息息相关的一个必备软件,随的流行, ...
- [BI项目记]-搭建代码管理环境之创建团队项目
此篇主要介绍如何基于TFS环境创建团队项目来进行项目代码的版本管理工作,这一系列将侧重于BI项目,当然对于其它项目也同样适用. 在TFS里开始一个项目,我们首先需要创建一个团队项目. 在Team Ex ...
- tfs中如何创建团队项目及如何操作团队项目
创建团队项目集合 tfs server管理控制台\团队项目集合页面.选择'创建集合'链接,按向导即可创建项目集合. 创建团队项目 创建好团队项目集合后,就要开始创建团队项目了. 进入vs,连接上tfs ...
- Surprise团队项目总结
Surprise团队项目总结 项目实现情况 实现人人模式:2个用户在同一台电脑上进行切磋下棋,即实现五子棋游戏的基本功能 实现人机模式:初级模式已经实现,可以进行人机交互,但是还没达到智能判断下棋点 ...
- 团队项目——站立会议 DAY11
团队项目--站立会议 DAY11 团队成员介绍(5人):张靖颜.何玥.钟灵毓秀.赵莹.王梓萱 今日(2016/5/20),站立会议已进行了两周时间,将这一周所遇到的问题和心 ...
- 团队项目——站立会议 DAY8
第八次站立会议记录: 参会人员:张靖颜,钟灵毓秀,何玥,赵莹,王梓萱 项目进展: 1.张靖颜:在反复修改和审查后,处理功能模块代码出错处,完善并运行. 2.钟灵毓秀:再次检查代码,运行报错处的代码修改 ...
随机推荐
- 使用uiautomatorviewer和uiautomator来做android的UI测试
来自:http://university.utest.com 作者:Angelos Nakulas (All Authored Courses) 译者:Elaine00 目录 简介 什 ...
- 基于ASP.NET MVC 4/5 Razor的模块化/插件式架构实现
概述 在日常开发中, 我们经常谈起模块化/插件化架构,这样可既可以提高开效率,又可以实现良好的扩展性,尤其对于产品化的系统有更好的实用性. 架构 我们采用的是MVC5(本文中介绍的方法对于MVC4也是 ...
- Linux 编程中的API函数和系统调用的关系【转】
转自:http://blog.chinaunix.net/uid-25968088-id-3426027.html 原文地址:Linux 编程中的API函数和系统调用的关系 作者:up哥小号 API: ...
- maven打包异常:软件包com.sun.org.apache.xml.internal.security.utils.Base64 不存在
maven打包异常:软件包com.sun.org.apache.xml.internal.security.utils.Base64 不存在 将jre/lib/rt.jar添加到maven的compi ...
- 快速稳定的维护PHP
Just to recap, previously we'd have this sort of thing: namespace me\adamcameron\testApp; use Guzzle ...
- 如何在VS2013中新建WindowsService定时任务
http://jingyan.baidu.com/article/cd4c2979e9330d756f6e6070.html 很多人都想做定时任务,但是没有不知道如何下手,现在就用WindowsSer ...
- 在ECSHOP后台的订单列表中显示配送方式
熟悉ECSHOP后台的人都知道,只有点击某个具体的订单,进入订单详细页面才能看到该订单的配送方式,最模板修改的目的,是想让管理者在订单列表页面 就能看到该订单的配送方式. 下面是修改方法:首先来修改 ...
- awk 手册--【转载】
1. 前言 有关本手册 : 这是一本awk学习指引, 其重点着重于 : l awk 适于解决哪些问题 ? l awk 常见的解题模式为何 ? 为使读者快速掌握awk解 ...
- 【转】SVN服务器搭建--Subversio与TortoiseSVN的配置安装
转载地址:http://blog.csdn.net/xinxin19881112/article/details/6410263 1. Subversio和TortoiseSVN 简介 Subver ...
- Matlab的libsvm的安装
最关键的是compilers的选择(对于把Microsoft visual stdio 2005或者其他的编译器安装在自定义目录下的这一步非常关键) 以下是步骤:>> mex -setu ...