自制KTV点歌系统经验

Windows Media Player控件播放

      Windows Media Player控件的简单使用

1.播放一首歌曲的方法

Windows Media Player控件播放的要求:正确的路径

如果Windows Media Player控件所在窗体是打开状态,那只要有正确的路径就可以播放了,

列:

控件名.Url=正确的路径

Player1是自己起的Windows Media Player控件的Name;

URL是系统的属性   两者连接用(.)点;

Song.Song_Url是我自己的定义的储存路径的字段,相当于

E:\新建文件夹\song\假如.mp3    . 就是一个你电脑上的完整路径

这样就可以播放一首歌曲了.

2.播放多首歌曲的方法

播放一首歌曲非常简单,只要了解了Windows控件就可以做到,

那如何播放多首歌曲那?

为什么上面的方法只能播放一首歌.Why?

因为他给了控件一个固定的路径,(没错,还是路径! ),一个只能指向一首歌的固定路径.

知道了原因,事情就好解决了.我们要做的就是把给控件的路径变成根据情况而可变的动态路径.

如何实现路径的可变性?

我们可以中转一下,不直接把真实路径给控件,而是把要播放的所有歌曲的真实路径给一个存放地,数据集,表,数组等.

这里以数组为列:

然后通过判断歌曲的状态,如播放,停止等来执行数组的操作

比如一首歌播完了,就在判定当前歌曲的状态为停止时,把下标进行+1操作然后把下标加一位置的路径给Windows Media Player控件的URL属性这样就可以实现,在播放完当前歌曲时,通过改变储存歌曲路径的数组的下标而改变传给控件的路径.路径改变了,自然就改变了播放的歌曲.

这样就实现了程序自动播放多首歌曲.

实列代码:

a    核心操作类

1---------  储存歌曲

2-----------   用于改变播放歌曲

3----------   自定义一个返回Song类的方法,其作用是给调用自己的那个家伙一个歌曲数组里有的歌曲.

b       播放器类

4------------         在播放器所在的类里,声明一个歌曲对象      (值为null)

5------------获得歌曲

定义一个获得歌曲的方法,作用:得到在核心类定义的那个能给一个歌曲的方法所传的值(就是一个歌曲).并把他的路径给播放器

因为我设定的是能返回null,所以判断如返回的不是null

则把刚刚得到的歌曲的真实路径给播放器.

6----------Load和Tick事件

上面的这个是两个方法

  1. Load事件,窗体打开前发生

在其中打开设置好的Timer控件   (间隔一秒)

2.     TT的Tick事件   (每秒执行一次)

判断在本类声明的歌曲对象是否为空,如为空.调用本类的方法PlaySong()得到歌曲和设置其路径.(if块的内容是其他功能的作用,这里先不说明)

7-------播放下一首歌曲方法

下面带码判断当前状态是否为停止

如是把本类的歌曲对象song的值改为null

并调用核心操作类的NextSong()方法

NextSong()方法:

NextSong()方法的作用是:判断当前播放歌曲在歌曲数组里是否为空,如为空改变其状态为已播放(这里的播放歌曲是核心类的歌曲数组里的播放歌曲,不是播放窗体类的歌曲.)并把下标进行自增

因为播放窗体类的Tick事件里的if判定中已经把

播放窗体类的song清空(改为null)所以,1秒后(还记得TT控件么,1秒一次的重新判定)重新判定song为null,调用获得歌曲的方法

不过这时,因下标已经改变为1了.得到的歌曲不在是下标为0的了.同样路径自然是下标为1的歌曲的.播放的就是歌曲数组里的第二首,也就是下标为一的歌曲.

这样当第一首歌播放结束时,就自动播放第二首了.

ktv的更多相关文章

  1. 平凡的KTV后台,不平凡的KTV数据

    之前就是说过“一个项目有很多重要的步骤以及功能”,那我们现在就来看看对于KTV项目来说:后台是处于什么样的重要作用! 首先就得了解KTV后台的一些功能了: 1.歌曲管理 .歌手管理 .设置资源路径 2 ...

  2. KTV项目 SQL数据库的应用 结合C#应用窗体

    五道口北大青鸟校区 KTV项目 指导老师:袁玉明 歌曲播放原理 SQL数据库关系图 C#解决方案类图 第一步:创建数据库连接方法和打开方法和关闭方法! public class DBHelper { ...

  3. KTV项目总结

    KTV项目总结 大约一个星期前吧,老湿说我们要开始做KTV项目了,说是KTV项目是贯穿整个学的内容的,会所的,要我们认真去对待,一开始,第一天搭前台界面,总是有不会的,要去问问,这个要用什么控件啊,用 ...

  4. KTV点歌系统

    经过十多天的艰苦奋战,MyKTV点歌系统终于成型,从刚开始接到项目的茫然,到完成项目时的喜悦,整个过程的艰辛和付出只有自己知道.虽然这个项目还有许多需要完善的地方,譬如添加歌词信息,实现窗体的美化等, ...

  5. 微信智慧KTV上线 不怕周末订不到包厢了

    周末邀三五好友唱唱歌是件惬意的事,可订包厢是个烦心事,总是people mountain people sea,而且价格比平时高出不少.现在好了,微信智慧KTV上线了,将有效解决传统KTV收银时间集中 ...

  6. KTV点歌系统播放原理

    北大青鸟KTV点歌系统播放原理 指导老师--原玉明 1.首先知道有两个类(PlayList   Song) PlayList类中有一方法 public static bool AddSong(Song ...

  7. C# KTV 系统 SQL数据库连接 C# 应用窗体

    ---恢复内容开始--- 五道口 北大青鸟校区 KTV项目 指导老师: 袁玉明  SQL数据库关系图 第一步: private void DoubleClicklvContry() { ]!=null ...

  8. 小学生之KTV项目文档(bdqn)

    第一步:创建数据库连接方法和打开方法和关闭方法! 1 public class DBHelper 2 { 3 private string str = "server=.;database= ...

  9. 小学生之KTV播放原理

    第一步: 创建一个Song类 //歌曲名称 public  string SongName { get; set; } //歌曲路劲 public string SongPath { get; set ...

随机推荐

  1. WordPress Xhanch - My Twitter插件跨站请求伪造漏洞(CVE-2013-3253)

    漏洞版本: WordPress Xhanch - My Twitter Plugin 2.7.5 漏洞描述: Bugtraq ID:61629 CVE ID:CVE-2013-3253 WordPre ...

  2. 在PC上使用串口向开发板传送文件

    之前一直使用的是NFS,即网络挂载文件系统,不愁文件的传输问题,但是不幸的是 前几天网络出现故障,使这种方式没法使用 变好的驱动程序一直没法下载到开发板里面,蛋疼欲裂啊. 于是乎折磨则么使用串口传输 ...

  3. 从 3 个 IT 公司里学到的 57 条经验

    自1999年起我就开始发掘一些科技公司,并帮助它们运营.下面是从干这行中得到的57条经验.我可以列出更多,但恐怕会令你厌烦. 1.做你个人有热情的事情.你是你自己最好的民意代表. 2.用户体验很重要. ...

  4. HDOJ/HDU 2562 奇偶位互换(交换位置~)

    Problem Description 给定一个长度为偶数位的0,1字符串,请编程实现串的奇偶位互换. Input 输入包含多组测试数据: 输入的第一行是一个整数C,表示有C测试数据: 接下来是C组测 ...

  5. hdu1026 Ignatius and the Princess I (优先队列 BFS)

    Problem Description The Princess has been abducted by the BEelzebub feng5166, our hero Ignatius has ...

  6. 从奥鹏一个答案提取页面 看jquery知识点

     http://oldlearn.open.com.cn/OEMSExercise/HomeworkReview.aspx?HomeworkId=9c034488-0a3d-4b9d-a6cc-e42 ...

  7. linux —— 学习笔记(用户管理与权限控制)

    目录:1.用户的创建和管理    2.组的创建和管理 3.文件执行权限的控制 4.不用密码执行sudo 1.用户的创建和管理 用户的创建和管理: useradd.usermod . userdel . ...

  8. 关于无光盘无u盘状态下该如何安装系统

    看到好东西,跟大家分享一下,需要装系统的可以作为参考资料 无光盘无u盘状态下该如何安装系统 重点  : 安装虚拟光驱(用来打开镜像文件) 一个你要安装的系统文件的iso镜像文件 http://www. ...

  9. Google Web Toolkit (GWT)怎么制作多个用户界面

    Google Web Toolkit即GWT是目前基于AJAX技术开发的一个比较成功的框架包,但是其附带例程中只有单页面的实例,那么应该怎么样制作多个页面呢? 其实很简单,GWT的一个模块,就是一个页 ...

  10. VS2012 win7 修改TFS登陆账号的方法

    .修改登陆账号: 在网上搜了好多,都没有找到解决方法,自己琢磨了一会找到了修改登陆TFS(Team Foundation Server)(团队资源管理器)的账号,和大家分享一下吧. 点击“开始”--“ ...