VB516 KTV播放系统的设计与实现VB+Access
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
目前,卡拉OK歌厅遍及中国的大江南北,人们总是在闲暇时刻去潇洒一回。而传统歌厅中的设施正在逐渐地老化,由于LD机器的停产和LD片源全部依赖于进口、成本较高,这样造成用户经济上的负担过重,而且老歌特别多,新歌很少,点歌方式上也很原始,速度太慢,并且经常出现抢歌现象,这样就给人们的休闲情绪蒙上了一层阴影。尤其是目前出现的KTV,每分每秒对客人和经营者都很重要,所以提高设备档次,提高点歌速度是势在必行的一件事情。随着科学的发展和信息时代的到来,利用高新技术来实现卡拉OK娱乐城设备的革命性建设则是完全可能的,而且可以满足消费者的多种需求。本系统就是伴随着这一需求而开
发研制的。
由于KTV的普遍性,则需要该系统易操作,易于管理。而本人利用VB开发工具制作了一个基于WindowsMediaPlayer控件的卡拉OK播放程序。该程序使用关系型数据库来存储播放器的音像文件列表,比较有效的管理了KTV曲目的播放次序,同时利用Windows API控制KTV的音频转换和混音,界面简洁大方,操作简单方便,使KTV演唱者不必进行复杂的调试就可尽情展现美妙歌喉。
关键字:VB;WindowsMediaPlayer;Access数据库;音像文件列表;Windows API
Karaok是个日英文的杂名,Kara是日文"空"的意思,OK是英文"无人伴奏乐队"的缩写,中国人给加了几个汉字,成了"卡拉OK"。
KTV一代:LD机:早期比较贵,而且只能一首一首放,卡拉OK厅只用1~2台来作为设备,唱歌前要先申请写纸条(填歌单)排长队,那时没有包间一说,全在大厅里,上台的人无论好坏都想过一把歌星瘾,于是比嗓子的,比阔气的、拼洋酒的全出现了。后来LD机进了包间后,就开始递"鸡毛信"(填歌单)了。
KTV二代:点歌器点歌:大厅里人们排队排得不耐烦了,就有了包间。店家也可多挣钱,隐私性也强,拼争斗殴的现象也少。可是设备要一对一地给客人放歌。于是有些人就有了生产点歌器的想法,把歌厅的所有歌曲编上号,制成歌本,客人在包房按编号点歌,包房内总闪着一排排红色的小灯,很落后,一次只能点几首。 内容来自think58
[版权所有:http://think58.com]
随着计算机科学技术的迅速发展,它的应用越来越广泛,已经渗透到了人类社会生产和生活的各个领域。数据库技术是计算机科学技术的一个重要分支,是现代化管理的重要手段,是研究数据共享的一门科学,是数据处理的最新技术。它的发展十分迅速,而且应用非常广泛。
近些年人们生活水平提高很快,人们除了注重衣食住行以外,越来越需要一种好的娱乐休闲方式,而卡拉 OK 起源于日本然后引入我国。这种娱乐方式很快被大家所接受。而且非常受人们的欢迎,不管男女老少都能唱上几句。现在大街上KTV包房很多,但它们的点歌系统并不先进,自动化程度不高,使用起来很不方便。所以现在正需要一种功能强大,自动化程度高,成本低廉KTV包房点歌系统。
Access数据库以功能强大和简单易用著称,它从90年代发布以来,正逐步成为桌面数据库的领导者,并且用有广泛的用户,Access 2000更使其有个人桌面数据库延伸到企业级数据库VOD KTV包房点歌系统,给予Access的优点,并结合实际工作需求编制的应用软件。它具有功能强,便于操作等特点。这套系统的应用将减轻工作人员的工作强度,使顾客更为方便的在KTV包房自由的歌唱无外界打扰,并且节约了很大的成本而且非常方便。
据管理的任务。
Access是一种关系型数据库管理系统,其主要特点如下:
(1)存储方式单一
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。
(2)面向对象
Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极大地简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。
(3)界面友好、易操作
Access是一个可视化工具,是风格与Windows完全一样,用户想要生成对象并应用,只要使用鼠标进行拖放即可,非常直观方便。系统还提供了表生成器、查询生成器、报表设计器以及数据库向导、表向导、查询向导、窗体向导、报表向导等工具,使得操作简便,容易使用和掌握。 内容来自think58 [资料来源:http://www.THINK58.com]
供了一个“桥”程序,OLE数据库已经在使用ADO技术。ADO的一个特征(称为远程数据服务)支持网页中的数据相关的ActiveX控件和有效的客户端缓冲。作为ActiveX的一部分,ADO也是Microsoft的组件对象模式(COM)的一部分,它的面向组件的框架用以将程序组装在一起。
以下是本系统使用的连接数据库的模块代码:
Public cn As ADODB.Connection ‘定义连接对象
Sub Main()
Set cn = New ADODB.Connection
With cn
‘连接字符串
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;PERSIST SECURITY INFO=TRUE;Data Source=" + App.Path + "\pathDB\ktvcaps.mdb"
.ConnectionTimeout = 15
.Open
End With
If cn.State = adStateOpen Then ‘判断是否已经连接成功
Load frmCtrl
frmCtrl.Show
End If
End Sub
5.2 Windows API 音频控制模块
Windows媒体播放器是一个数位媒体播放微软公司开发的。 这是被称为WMP的。 除了是数字媒体播放器能够发挥最大格式的音频,它也包括一个媒体库的应用。 在其整体性, WMP将可以发挥多种格式的音频,视频和图像在电脑上运行微软视窗作业系统或对PocketPC和Windows移动设备。 同时,它可以播放多种类型的音频文件包括的WMA ( Windows媒体音频)和WMV ( Windows Media影片) ,它也可以发挥档案所谓ASF文件(高级流格式) 。 除了音频和视频播放器,它也可以撷取音乐和音乐复制到CD的。 此播放器也能发挥DRM (数字版权管理)的档案。
以下是本系统使用的音频控制模块代码:
Public Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Public Const WM_APPCOMMAND As Long = &H319
Public Const APPCOMMAND_VOLUME_UP As Long = 10
Public Const APPCOMMAND_VOLUME_DOWN As Long = 9
Public Const APPCOMMAND_VOLUME_MUTE As Long = 8
Public Declare Function auxGetVolume Lib "winmm.dll" (ByVal uDeviceID As Long, lpdwVolume As Long) As Long
Public Declare Function auxSetVolume Lib "winmm.dll" (ByVal uDeviceID As Long, ByVal dwVolume As Long) As Long
Public Declare Function waveOutGetVolume Lib "winmm.dll" ( _
ByVal uDeviceID As Long, _ think58.com [资料来源:www.THINK58.com]
lpdwVolume As Long _
) As Long
Public Declare Function waveOutSetVolume Lib "winmm.dll" (ByVal uDeviceID As Long, ByVal dwVolume As Long) As Long
Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)
Type VolumeSetting
LeftVol As Integer
RightVol As Integer
copyright think58 [资料来源:http://www.THINK58.com]