77范文网 - 专业文章范例文档资料分享平台

媒体音乐播放器的设计与实现—毕业论文(4)

来源:网络收集 时间:2019-03-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

表4-5折率表 含义 数据类型 会员级别 varchar(50) 打折率 varchar(50) 会员内码 varchar(50) 字段名称 cardtype Abate Viplogo 可否为空 YES YES NO (6) 开户点歌表(money)

开户点歌表主要用于存放用户消费时选择的包间类型、用户的会员等级、充值、开户时间及房间号。表结构如表4-6所示。

字段名称 roomnum roomtype cardtype Money userlogo Uncost begintime 表4-6开户点歌表 含义 数据类型 房间号 nvarchar(50) 包间类型 nvarchar(50) 会员等级 nvarchar(50) 充值金额 Float 用户内码 Int 消费金额 nvarchar(50) 开始时间 Datetime 可否为空 YES YES YES YES NO YES YES (7) 用户播放列表(likemusic)

用户播放列表主要方便用户存放自己喜欢的歌曲,其中包括歌曲名、歌手名、歌曲类型、歌曲名称数及歌曲路径。表结构如表4-7所示。

字段名称 gsname gqname Gqnum Gqtype Path Gqlogo 表4-7用户播放列表 含义 数据类型 歌手名称 varchar(50) 歌曲名称 varchar(50) 歌曲数 varchar(50) 歌曲类别 varchar(50) 歌曲路径 varchar(200) 歌曲内码 Int 表4-8歌曲类型表 含义 数据类型 类型内码 Int 类型名称 nvarchar(50) 可否为空 NO NO NO NO NO NO (8) 歌曲类型表(type)

字段名称 Lxlogo Lxname 可否为空 NO YES

11

5 系统详细设计

5.1 点歌系统主界面设计

5.1.1 界面设计

点歌系统主窗体是用来播放数据库内歌曲。主要可以实现用户对列表框内的歌曲进行下一首、上一首、增加音量、减小音量、快进、快退、全屏功能。管理员登录时的数据库操作及开户点歌功能。可以播放的音乐格式有mp3,wmv,wma格式,双击列表框内的歌曲进行歌曲的播放。

根据点歌系统主界面所要实现的功能,需要在界面上添加如下控件:windows media player,skinEngine,timer,toolstrip,button(按钮)控件。上一首按钮,就是为了实现上一首歌曲的播放;下一首按钮为了实现下一首歌曲的播放;增加音量按钮,就是为实现音量的增加;减小音量按钮,就是为了实现音量的增加,快进按钮是为了实现快进播放功能;快退按钮是为了实现快退功能;skinEngine是为了使界面运行时更美观。toolstrip控件是为了区别普通用户与管理员的登录。全屏按钮,就是为了实现屏幕的全屏播放,按歌曲查询按钮用来实现用户能够根据歌曲名称查询歌库内的歌曲,并双击选择歌曲添加到用户播放列表。其它控件可类似。各主要控件的属性如表5-1所示。

表5-1点歌系统主窗体主要控件属性 控件 属性 属性值 Name Form1 点歌系统(Form1) Text 点歌系统 Windows media player Button1 Button2 Button3 Button4 Button5 Button6 Button8 Button9 Button10 Button11 Button12 Button13 Button14 Button15 Name URL Text Text Text Text Text Text Text Text Text Text Text Text Text Text myplayer null 上一首 下一首 增加音量 减小音量 快进>> 快退<< 停止 播放/暂停 开户点歌 管理员设置 按歌曲类别查询 按歌曲名称查询 按拼音查询 按歌手查询 12

续表5-1

Button16 Text 清空播放列表 Button17 Label1 Label2 Text Text Text

己点歌播放列表 此时播放歌曲时间的当前进度 当前播放歌曲总时间 设计完成的安排工作界面如图5-1所示。

图5-1 点歌系统主界面

5.1.2 代码设计

13

(1) 当用户双击列表框内的歌曲时,将触发listView1_DoubleClick()事件,并且直接播放当前选中的歌曲,部分代码如下:

private void listView1_DoubleClick(object sender, EventArgs e) { if (this.listView1.SelectedItems.Count > 0) {

myplayer.currentMedia=myplayer .newMedia (listView1 .SelectedItems [0].SubItems [3].Text );

string fname = this.listView1.SelectedItems[0].SubItems[3].Text; myplayer.URL = fname;

this.button9.Text = \暂停\ timer1.Enabled = true; } }

(2) 当用户当击上一首按钮时,系统将先判断当前选择行是不是第一行,如果为第一行则手动设置列表框中的最后一行下标为当前选中行,并设置其可见状态,可以让用户知道当前选中的歌曲,最后实现上一首歌曲的播放,代码如下:

private void button1_Click(System.Object sender, System.EventArgs e)//上一首 { int a = this.listView1.Items.Count - 1; try {

if(this.listView1.SelectedItems.Count>0&&this.listView1.Items.Count > 0) {

if (listView1.SelectedItems[0].Index <= this.listView1.Items.Count - 1 && this.listView1.Items.Count > 1 && this.listView1 .SelectedItems [0].Index >0) { index = listView1.SelectedItems[0].Index;

myplayer.URL=listView1.Items[listView1.SelectedItems[0].Index-1].SubItems[3].Text; listView1.Items[index].Selected = false; listView1.Items[index - 1].Selected = true; listView1.Focus(); }

else { listView1.Items [0].Selected = false; listView1.Items[a ].Selected = true;

listView1.Focus();

myplayer.URL=this.listView1.Items[a].SubItems[3].Text; } } else { MessageBox.Show(\列表中没有歌曲!\ } } catch { }}

(3) 当用户当击下一首按钮时,系统将先判断当前选择的行是不是最后一行,如果为最后一行则手动设置列表框中的第一行为当前选中行,并设置其可见状态,可以让用户知道当前选中的歌曲,然后再实现下一首歌曲的播放,代码如下:

int index = 0;

private void button2_Click(System.Object sender, System.EventArgs e) { try {

14

if (this.listView1.SelectedItems.Count > 0 && this.listView1.Items.Count > 0) {

if(listView1.SelectedItems[0].Index 1) {

index = listView1.SelectedItems[0].Index;

myplayer.URL = listView1.Items[index + 1].SubItems[3].Text; listView1.Items[index].Selected = false; listView1.Items[index + 1].Selected = true; listView1.Focus(); } else{

listView1.SelectedItems[0].Selected = false;

listView1.Items[0].Selected = true; listView1.Focus();

myplayer.URL = this.listView1.Items[0].SubItems[3].Text; } } else { MessageBox.Show(\列表中没有歌曲!\ } catch{ } }

(4) 当用户当击增加音量按钮时,系统会调用播放器控件的增加音量事件,使播放器增加音量,部分代码如下:

keybd_event(175, 0, 0, 0);//增加音量

(5) 当用户单击减小音量按钮时,系统会调用播放器控件的减小音量事件,使播放器降低音量,部分代码如下:

keybd_event(174, 0, 0, 0);

(6) 当用户单击快进按钮时,系统调用播放器控件的fastForward()方法,使播放器实现快进的功能,部分代码如下:

myplayer.Ctlcontrols.fastForward();//快进

(7) 当用户单击快退按钮时,系统调用windows media player 控件的fashReverse()方法,使播放器实现快退的功能,部分代码如下:

myplayer.Ctlcontrols.fastReverse();

(8) 当用户单击停止按钮时,系统调用播放器控件的stop()方法,并且停止时间控件的运行,使其可用状态设为false,手动拖动条值设为0,使播放器实现停止播放的功能,部分代码如下:

timer1.Enabled = false; myplayer.Ctlcontrols.stop(); trackBar1.Value = 0; button9.Text = \播放\

(9) 用户单击按歌曲类别查询时,将弹出歌曲类别查询窗体。本系统设计了一个歌曲

15

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库媒体音乐播放器的设计与实现—毕业论文(4)在线全文阅读。

媒体音乐播放器的设计与实现—毕业论文(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/526937.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: