ktv
自制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事件
上面的这个是两个方法
- 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的更多相关文章
- 平凡的KTV后台,不平凡的KTV数据
之前就是说过“一个项目有很多重要的步骤以及功能”,那我们现在就来看看对于KTV项目来说:后台是处于什么样的重要作用! 首先就得了解KTV后台的一些功能了: 1.歌曲管理 .歌手管理 .设置资源路径 2 ...
- KTV项目 SQL数据库的应用 结合C#应用窗体
五道口北大青鸟校区 KTV项目 指导老师:袁玉明 歌曲播放原理 SQL数据库关系图 C#解决方案类图 第一步:创建数据库连接方法和打开方法和关闭方法! public class DBHelper { ...
- KTV项目总结
KTV项目总结 大约一个星期前吧,老湿说我们要开始做KTV项目了,说是KTV项目是贯穿整个学的内容的,会所的,要我们认真去对待,一开始,第一天搭前台界面,总是有不会的,要去问问,这个要用什么控件啊,用 ...
- KTV点歌系统
经过十多天的艰苦奋战,MyKTV点歌系统终于成型,从刚开始接到项目的茫然,到完成项目时的喜悦,整个过程的艰辛和付出只有自己知道.虽然这个项目还有许多需要完善的地方,譬如添加歌词信息,实现窗体的美化等, ...
- 微信智慧KTV上线 不怕周末订不到包厢了
周末邀三五好友唱唱歌是件惬意的事,可订包厢是个烦心事,总是people mountain people sea,而且价格比平时高出不少.现在好了,微信智慧KTV上线了,将有效解决传统KTV收银时间集中 ...
- KTV点歌系统播放原理
北大青鸟KTV点歌系统播放原理 指导老师--原玉明 1.首先知道有两个类(PlayList Song) PlayList类中有一方法 public static bool AddSong(Song ...
- C# KTV 系统 SQL数据库连接 C# 应用窗体
---恢复内容开始--- 五道口 北大青鸟校区 KTV项目 指导老师: 袁玉明 SQL数据库关系图 第一步: private void DoubleClicklvContry() { ]!=null ...
- 小学生之KTV项目文档(bdqn)
第一步:创建数据库连接方法和打开方法和关闭方法! 1 public class DBHelper 2 { 3 private string str = "server=.;database= ...
- 小学生之KTV播放原理
第一步: 创建一个Song类 //歌曲名称 public string SongName { get; set; } //歌曲路劲 public string SongPath { get; set ...
随机推荐
- 深入浅出Node.js (附录C) - Node编码规范
C.1 根源 C.2 编码规范 C.2.1 空格与格式 C.2.2 命名规范 C.2.3 比较操作 C.2.4 字面量 C.2.5 作用域 C.2.6 数组与对象 C.2.7 异步 C.2.8 类与模 ...
- 【响应式Web设计实践 #BOOK#】
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- (转载)MySQL默认INFORMATION_SCHEMA,MySQL,TEST三个数据库用途
(转载)http://www.45it.com/database/201204/29390.htm 本文简要说明了MySQL数据库安装好后自带的INFORMATION_SCHEMA,MySQL,TES ...
- 自己记录java环境搭建之-maven
简述: 现需要在Eclipse中配置Maven插件,同时安装maven应用,配置Maven环境变量,建立Maven管理的工程,并用Maven导入Gson包, 编写简易Json输出程序 步骤: 1. 首 ...
- oracle查询语句【转载】
建立的表: 表名:REGIONS 序号 列名 数据类型 长度 小数位 标识 主键 允许空 默认值 说明 1 REGION_ID NUMBER 是 否 2 REGION_NAME VARCHAR2 25 ...
- mac上的键盘生活——quicksliver
昨天晚上一直在找mac上的博客客户端,没发现很好的国内支持客户端,却发现了一个新的东西--quicksliver 简单的说,这个就是个快捷键启动方式,这是我在mac上用的最好的一个快捷键启动程序( ...
- rfc的资料
所有rfc的集结地: http://www.rfc-editor.org/rfc rtp的rfc: http://en.wikipedia.org/wiki/RTP_audio_video_pr ...
- MongoDB基础知识 01
MongoDB基础知识 1. 文档 文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting& ...
- IE的Cookie目录和临时缓存目录的关系
1.IE的Cookie位置注册表设置: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folde ...
- cocos2d-x创建的九宫图变白块
用UIImageView 创建的九宫图变白,直接用CCScale9Sprite创建的也是变白,找了半天原来是自己为了调整UI方便,开启了CCSprite边缘画线导致的,在ccConfig.h下 宏CC ...