声明一个播放器接口IPlayer,包含5个接口方法:播放、停止、暂停、上一首和下一首。设计一个窗体程序,在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口,最后创建相应类的实例测试程序,单击MP3按钮后,再单击“播放”按钮的效果。与此类似,如果单击AVI按钮后,再单击播放按钮则应显示“正在播放AVI视频!”。

设计界面

编写代码:

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 Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        IPlayer ip;
        MP3 m;
        AVI a;
        //MP3歌曲
        private void button1_Click(object sender, EventArgs e)
        {
            m = new MP3();
            ip = (IPlayer)m;
        }
        //AVI视频
        private void button2_Click(object sender, EventArgs e)
        {
            a = new AVI();
            ip = (IPlayer)a;
        }
        //上一首
        private void button3_Click(object sender, EventArgs e)
        {
            if (a is IPlayer || m is IPlayer)
            {
                label1.Text = "\n" + ip.Pre();
            }
            else
            {
                MessageBox.Show("请选择MP3歌曲或AVI视频");
            }           
        }
        //停止
        private void button4_Click(object sender, EventArgs e)
        {
            if (a is IPlayer || m is IPlayer)
            {
                label1.Text = "\n" + ip.Stop();
            }
            else
            {
                MessageBox.Show("请选择MP3歌曲或AVI视频");
            } 
        }
        //播放
        private void button5_Click(object sender, EventArgs e)
        {
            if (a is IPlayer || m is IPlayer)
            {
                label1.Text = "\n" + ip.Play();
            }
            else
            {
                MessageBox.Show("请选择MP3歌曲或AVI视频");
            } 
        }
        //暂停
        private void button6_Click(object sender, EventArgs e)
        {
            if (a is IPlayer || m is IPlayer)
            {
                label1.Text = "\n" + ip.Pause();
            }
            else
            {
                MessageBox.Show("请选择MP3歌曲或AVI视频");
            } 
        }
        //下一首
        private void button7_Click(object sender, EventArgs e)
        {
            if (a is IPlayer || m is IPlayer)
            {
                label1.Text = "\n" + ip.Next();
            }
            else
            {
                MessageBox.Show("请选择MP3歌曲或AVI视频");
            } 
        }

private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = "";
        }
    }
    interface IPlayer
    {
        string Play();
        string Stop();
        string Pause();
        string Pre();
        string Next();
    }

public class MP3 : IPlayer
    {
        public string Play()
        {
            return "正在播放MP3歌曲!";
        }
        public string Stop()
        {
            return "停止播放MP3歌曲";
        }
        public string Pause()
        {
            return "暂停播放MP3歌曲";
        }
        public string Pre()
        {
            return "播放上一首MP3歌曲";
        }
        public string Next()
        {
            return "播放下一首MP3歌曲";
        }
    }

public class AVI : IPlayer
    {
        public string Play()
        {
            return "正在播放AVI视频!";
        }
        public string Stop()
        {
            return "停止播放AVI视频";
        }
        public string Pause()
        {
            return "暂停播放AVI视频";
        }
        public string Pre()
        {
            return "播放上一首AVI视频";
        }
        public string Next()
        {
            return "播放下一首AVI视频";
        }
    }
}

运行结果;

C#——窗体程序声明一个播放器接口IPlayer,包含5个接口方法:播放、停止、暂停、上一首和下一首。相关推荐

  1. 声明一个播放器接口IPlayer,包含5个接口方法:播放、停止、暂停、上一首和下一首。

    声明一个播放器接口IPlayer,包含5个接口方法:播放.停止.暂停.上一首和下一首.设计一个Windows应用程序,在该程序中定义一个MP3播放器类和一个AVI播放器类,以实现该接口,最后创建相应类 ...

  2. 用Qt写一个简单的音乐播放器(三):增加界面(播放跳转与音量控制)

    一.前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐. 在用Qt写一个简单的音乐播放器(二):增加界面(开始和 ...

  3. 微信小程序实现一个文件管理器

    微信小程序实现一个文件管理器 虽然标题说是实现一个文件管理器,但我是用来管理预加载小程序可能用的网络资源的,尤其是要是用音效资源时. 小程序的包体即便是分包也是每个分包的资源大小是2m,像音频资源,使 ...

  4. Android音乐播放器开发(5)—播放界面(播放、暂停、上一首、下一首,顺序播放、随机播放、拖拽进度条…)

    1. 说明 源码已同步到Gitee仓库,Github仓库,觉得还不错的话帮忙点个"star"吧,非常感谢. Android播放器专栏其它文章: 服务端:Android音乐播放器开发 ...

  5. java编写的媒体播放器_BlogJava: 用Java构造自己的媒体播放器

    一.概述 首先我们来看看构造这个媒体播放器要达到什么样的目标,确定了目标也就确定了代码量和程序的复杂程度.本文的媒体播放器要达到如下目标: 媒体播放器是一个菜单驱动的简单AWT应用. 媒体播放器包含一 ...

  6. 音乐播放器功能的实现,歌词lrc显示,播放过程中来电

    原文地址: http://blog.sina.com.cn/s/blog_afb547c60101hjfd.html 5.1 音乐播放器功能的实现.(社区ID:clarck) 音乐播放器最主要的功能有 ...

  7. java制作媒体播放器_用Java构造自己的媒体播放器

    一.概述 首先我们来看看构造这个媒体播放器要达到什么样的目标,确定了目标也就确定了代码量和程序的复杂程度.本文的媒体播放器要达到如下目标: 媒体播放器是一个菜单驱动的简单AWT应用. 媒体播放器包含一 ...

  8. Web点播播放器1.0——腾讯sdk网页点播播放器

    https://www.qcloud.com/document/product/267/5706 功能介绍 本文档是介绍腾讯云视频点播服务的网页播放器(Web SDK)的使用说明,它可帮助腾讯云客户直 ...

  9. 视频、音乐播放器大家都听说过,那么图片播放器呢

    原标题:应用Tkinter模块制作一个图片播放器 今天,在看视频的同时,想了一下,既然视频.音乐都有自己的播放器,那么图片呢?是否有自己的播放器呢?既然没有,为什么不做一个呢? 文章目录 原标题:应用 ...

最新文章

  1. java 支持 shards 的jar_Hibernate Shards 数据的水平、垂直切割(一)- Hibernate测试环境...
  2. Python环境变量设置
  3. python免费试听-线上儿童编程免费试听-品质保障
  4. 安装软件the error code is 2203解决方法
  5. spring+springmvc+ibatis整合小结
  6. 记一次院赛CTF的Crypto和Re题(入门)
  7. 二维数组数组名的使用
  8. React Native实例
  9. spring boot mybatisplus集成_spring-boot系列之集成测试
  10. 5.7 并行复制配置 基于GTID 搭建中从 基于GTID的备份与恢复,同步中断处理
  11. python requests session_Python requests模块session代码实例
  12. 小米笔记本桌面计算机图标,小米笔记本桌面锁定怎么解除
  13. pdf文件怎么合并在一起
  14. 做好规划 IT项目不能再独行(zt)
  15. 【系统架构】原型图验收的思考
  16. iOS 手势UIGestureRecognizer
  17. 学习UI设计都需要会什么
  18. 全球及中国停车信息系统行业研究及十四五规划分析报告
  19. 中华五千年的朝代顺序
  20. python 发送微信语音消息_全网最全的Windows下Anaconda2 / Anaconda3里Python语言实现定时发送微信消息给好友或群里(图文详解)...

热门文章

  1. 计算机控制采样周期计算公式,科学网—计算步长和采样周期 - 王永林的博文
  2. web前端高级React - React从入门到进阶之组件的懒加载及上下文Context
  3. 微信公众平台开发(26) 消息回复总结
  4. [C++]第三章 数据类型
  5. update 追加某个字段的内容
  6. 【考研数学二——函数和极限知识梳理(思维导图)】
  7. Mac OS删除文件夹和文件的命令
  8. idea集成tomcat 控制台输出中文乱码问题解决合集
  9. 【面试智力题】你有四个装药丸的罐子,每个药丸都有一定的重量,被污染的药丸是没被污染的重量+1,只称量一次,如何判断哪个罐子的药被污染了?
  10. 计算错误可以用计算机ac,计算器ac是什么键 计算器ac键介绍