第五次作业

具体设计:

主要用了Windows Media Player控件,设置不同的属性值来实现它的播放,暂停,快进,快退等功能。

代码实现:

Form1窗体
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;

namespace 播放器
{
    public partial class FrmMPlayer : Form
    {
        public FrmMPlayer()
        {
            InitializeComponent();
        }

        private void FrmMPlayer_Load(object sender, EventArgs e)
        {
            tkbVolumne.Value = 5;
            AxMPlayer.settings.volume = tkbVolumne.Value;
            AxMPlayer.uiMode = "None";
        }
        public string name;
        //打开的单击事件
        private void BtnOpenFile_Click(object sender, EventArgs e)
        {
            string fname;
            OpenFileDialog dlgopen = new OpenFileDialog();
            dlgopen.Filter = "MP3(*.MP3)|*.MP3";
            if (dlgopen.ShowDialog() == DialogResult.OK)
            {
                fname = dlgopen.FileName;
                name = dlgopen.SafeFileName;
                AxMPlayer.URL = fname;
            }
        }
        //"播放"按钮
        private void btnPlay_Click(object sender, EventArgs e)
        {
            AxMPlayer.Ctlcontrols.play();
        }
        //"暂停"按钮
        private void btnPause_Click(object sender, EventArgs e)
        {
            AxMPlayer.Ctlcontrols.pause();
            tmPlayer.Enabled = false; 
        }
        //"停止"按钮
        private void btnStop_Click(object sender, EventArgs e)
        {
            AxMPlayer.Ctlcontrols.stop();
            tmPlayer.Enabled = false;
        }
        //"快进"按钮
        private void btnFastForward_Click(object sender, EventArgs e)
        {
            AxMPlayer.Ctlcontrols.fastForward();
        }
        //"快退"按钮
        private void btnFastReverse_Click(object sender, EventArgs e)
        {
            AxMPlayer.Ctlcontrols.fastReverse();
        }
        //"全屏"按钮
        private void btnFullScreen_Click(object sender, EventArgs e)
        {
            if (AxMPlayer.playState == WMPLib.WMPPlayState.wmppsPlaying)
            {
                AxMPlayer.fullScreen = true;
                AxMPlayer.uiMode = "Full";
            }
        }
        //播放媒体发生变化时触发此事件
        private void AxMPlayer_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
        {
            
            lblTotalTime.Text +=  AxMPlayer.currentMedia.duration;
            tmPlayer.Enabled = true ;
            lblSongName.Text = "歌名:" + name;
        }

        private void tmPlayer_Tick(object sender, EventArgs e)
        {
            lblEscapeTime.Text = "已经播放时间:" + AxMPlayer.Ctlcontrols.currentPosition + "秒";
        }

        private void tkbVolumne_Scroll(object sender, EventArgs e)
        {
            AxMPlayer.settings.volume = tkbVolumne.Value;
        }
        //关闭按钮
        private void btnExit_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}

测试:

PSP的耗时分析:

PSPPersonal Software Process StagesTime(h)
Planning计划3
    ·Estimate    ·估计这个任务需要多少时间6
Development开发30
    ·Analysis    ·需求分析4
    ·Design Spec    ·生成设计档案13
    ·Design Review    ·设计复审1
    ·Coding Standard    ·代码规范1
    ·Design    ·具体设计2
    ·Coding    ·具体编码12
    ·Code Review    ·代码复审2
    ·Test    ·测试1
Reporting报告2
    ·Test Report    ·测试报告1
    ·Size Measurement    ·计算工作量1
    ·Postmortem & Process Improvement Plan    ·事后总结,并提出过程改进计划5

 

 

 

 

 

 

 

 

 

 

 

 

团队编程的总结:

在做这个播放器的时候,我们感觉到我们知识面太窄了,有太多知识我们不知道,在这个程序中就有体现,因为我们没有学过Windows Media Player控件,对它的属性不太了解,所以在程序中“文件名:”“播放总时间”“已播放时间都没有获取到,我们会再试着把它做出来的。

程序的代码是规范的。

转载于:https://www.cnblogs.com/snowz/p/4952648.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值