vb课程设计全自动音乐打铃软件的设计备课讲稿.docx

上传人:b****6 文档编号:13526343 上传时间:2023-06-15 格式:DOCX 页数:21 大小:684.21KB
下载 相关 举报
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第1页
第1页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第2页
第2页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第3页
第3页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第4页
第4页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第5页
第5页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第6页
第6页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第7页
第7页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第8页
第8页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第9页
第9页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第10页
第10页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第11页
第11页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第12页
第12页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第13页
第13页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第14页
第14页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第15页
第15页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第16页
第16页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第17页
第17页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第18页
第18页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第19页
第19页 / 共21页
vb课程设计全自动音乐打铃软件的设计备课讲稿.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

vb课程设计全自动音乐打铃软件的设计备课讲稿.docx

《vb课程设计全自动音乐打铃软件的设计备课讲稿.docx》由会员分享,可在线阅读,更多相关《vb课程设计全自动音乐打铃软件的设计备课讲稿.docx(21页珍藏版)》请在冰点文库上搜索。

vb课程设计全自动音乐打铃软件的设计备课讲稿.docx

vb课程设计全自动音乐打铃软件的设计备课讲稿

 

vb课程设计-全自动音乐打铃软件的设计

1选题背景··································································2

1.1背景································································2

1.2设计要求····························································2

1.3指导思想····························································2

2方案论证··································································2

3程序设计论述······························································2

3.1程序工作····························································2

3.2控件属性说明························································4

3.3程序代码(附带解释说明)·············································4

4结果分析·································································11

4.1运行结果···························································11

4.2结果分析···························································15

5总结·····································································15

设计体会及今后的改进意见···················································16

参考文献资料·······························································17

1选题背景

1.1背景

如今,许多学校、工矿等单位都安装音乐打铃器,音乐打铃已成为一种时尚的打铃方式,它改进了传统单调的打铃方式,让打铃方式变得丰富多彩。

因此,我选择了全自动打铃软件作为我的课程设计课题。

1.2设计要求

设计基本要求为定时播出,以周为单位,可以在任意天任意时间设定播放音乐铃声。

可以任意控制播放时间的长短,在设定的时间内会连续播放,结束时间一到即会停止。

可设置多套播放计划,根据需要随时启用。

内置十首铃声,支持自定义铃声名称及音乐。

设置计划时也可指定磁盘上的文件,支持WAV、MID、MP3等音乐文件格式。

软件界面简洁实用,可以随时手动播放需要的铃声,或者暂时屏蔽某个不需要的铃声。

1.3指导思想

本程序设计主要是用到windowsmediaplayer播放器控件、定时器、对话框、列表框、文件列表框和组合框的使用方法。

选择结构和循环结构的设计使用。

2方案论证

最初的设计方案只用列表框加载音乐,用MMControl播放控件进行播放,但是添加音乐后,音乐不播放,加之对此播放控件不太熟悉,编程较慢,且出现错误较多就放弃了此计划。

后来的改进的计划是加载windowsmediaplayer控件,设计两个命令按钮“默认列表”、“自定义列表”分别用来切换默认列表与自定义列表两个播放列表,其中默认列表对应firelist1,内置十首默认铃声;自定义列表对应list1,可以通过单击“添加文件”按钮添加自己要选的指定格式的音乐。

当在任意一个text1文本框中输入上课或下课时间后(考虑到学校上下课的时间基本精确到分钟,所以程序设计是按此设计的,输入时间时,就精确到分钟即可),当到达此时间后,按照所选计划进行播放,当播放进度与设置的播放时长相等时,结束播放。

同时,用户双击列表中的音乐后,也可以使其播放。

并且可以通过“删除”按钮删除自定义列表中不想要的铃声,也可以按“清空”按钮清空自定义列表。

在周末的时候,设计为不打铃,以周开始循环打铃。

综上,通过改变设计思路,自动打铃最后实现。

3程序设计论述

3.1设计工作简述

该课程设计历时5天完成:

第一天:

进行总体的设计,确定设计思路,即具体编程设计步骤。

第二天:

进行初步编程。

进行界面设计,编辑添加音乐到播放列表以及双进行播放的程序。

第三天:

完成剩余程序设计,主要是控制定时打铃的程序。

并验证正确性。

第四天:

上级验证程序正确性,并进行改进。

第五天:

编写课程设计报告,并打印成稿。

3.2控件属性说明

表3-2控件属性表

控件名称

重要属性值

说明

Windowsmediaplayer1

播放铃声

Command1

Caption-添加文件

在列表框添加音乐

Command2

Caption-删除

删除自定义列表所选音乐

Command3

Caption-清空

清空列表

Command4

Caption-退出

退出程序

Command5

Caption-默认列表

单击后只显现filelist1,用来切换列表

Command6

Caption-自定义列表

单击后只显现list1,用来切换列表

Command7

Caption-默认时间

Command8

Caption-清空时间

Text1数组

用来输入时间

Text2

设定播放时长

Text3

播放音乐时,显示进度

Text4

显示正在播放的曲目

Text5

当选择“用户选择铃声”计划时,显示所选铃声

Label1

显示现在的日期、时间

Label2

Caption-北京时间:

Label3

Caption-第一节

Label4

Caption-第二节

Label5

Caption-第三节

Label6

Caption-第四节

Label7

Caption-第五节

Label8

Caption-第六节

Label9

Caption-第七节

Label10

Caption-第八节

Label11

Caption-上课时间

Label12

Caption-下课时间

Label13

Caption-正在播放

Label14

Caption-播放时长(秒)

Label15

Caption-播放计划

Label16

Caption-播放进度(秒)

Label17

Caption-所选歌曲

Filelist1

加载默认列表的歌曲曲目

List1

加载自定义列表的歌曲曲目

Combo1

List(0)=”用户选择铃声”

List

(1)=”随机随机播放指定列表铃声”

播放计划

Image1

加载陕西科技大学图标

Commondialog1

Timer1

Interval=1000

控制自动播放

Timer2

Interval=1000

在label1显示现在时间

Timer3

Interval=1000后变为60000

到达时间,根据所选播放计划,调用Timer2

Timer4

Interval=1000

显示播放进度,并控制播放时长

3.3程序代码(附带解释说明)

OptionExplicit

Dima(),b()'声明数组a(),b(),其分别用来保存自定义列表中各项的路径和文件名

DimxAsString'保存将时间转为字符串的变量

DimnAsInteger'表示text1数组的下标

'当点击组合框中的第一项是,选择铃声(请事先选好铃声)

—————————————————————————————————

PrivateSubCombo1_Click()[1]

IfCombo1.ListIndex=0Then'当第一项被选中时,弹出对话框

MsgBox"请选择铃声"

'如果在默认列表或自定义列表内选择铃声,将其赋给text5

IfFile1.Visible=TrueThen

Text5.Text=File1.List(File1.ListIndex)

Else

Text5.Text=List1.List(List1.ListIndex)

EndIf

EndIf

EndSub

—————————————————————————————————

'强行结束程序

PrivateSubCommand4_Click()

End

EndSub

—————————————————————————————————

'点击command5即默认列表按钮时,文件列表框显示,列表框不显示

PrivateSubCommand5_Click()

List1.Visible=False

File1.Visible=True

EndSub

—————————————————————————————————

'点击command6即自定义列表按钮时,文件列表框显示,列表框不显示

PrivateSubCommand6_Click()

List1.Visible=True

File1.Visible=False

EndSub

—————————————————————————————————

'点击command7即默认时间按钮时,在text1控件数组中显示默认时间

PrivateSubCommand7_Click()

Text1(0).Text="08:

00"

Text1

(1).Text="08:

50"

Text1

(2).Text="09:

00"

Text1(3).Text="09:

50"

Text1(4).Text="10:

05"

Text1(5).Text="10:

55"

Text1(6).Text="11:

05"

Text1(7).Text="11:

50"

Text1(8).Text="14:

00"

Text1(9).Text="14:

50"

Text1(10).Text="15:

00"

Text1(11).Text="15:

50"

Text1(12).Text="16:

05"

Text1(13).Text="16:

55"

Text1(14).Text="17:

05"

Text1(15).Text="17:

55"

EndSub

—————————————————————————————————

'点击command8即清空时间按钮时,清空所有时间

PrivateSubCommand8_Click()

Forn=0To15

Text1(n).Text=""

Nextn

EndSub

—————————————————————————————————

'双击文件列表框中某一项时,播放所选歌曲

PrivateSubFile1_DblClick()

WindowsMediaPlayer1.URL=App.Path&"\mp3\"&File1.List(File1.ListIndex)[2]

WindowsMediaPlayer1.Controls.play

Text4.Text=File1.List(File1.ListIndex)'Text4显示正在播放的歌曲

EndSub

—————————————————————————————————

PrivateSubForm_Load()

Show

Timer1.Interval=1000

Timer2.Interval=1000

Timer3.Interval=1000

Timer1.Enabled=False'timer1不可用,防止选中歌曲就进行打铃

File1.Visible=True'加载窗体时只显示默认列表

List1.Visible=False

MsgBox"请添加铃声"

File1.Path=App.Path&"\mp3"'此处为默认音乐,其所在文件夹与工程文件放在一起,名为“mp3”的文件夹

Text1(0).Text="08:

00"'加载默认时间

Text1

(1).Text="08:

50"

Text1

(2).Text="09:

00"

Text1(3).Text="09:

50"

Text1(4).Text="10:

05"

Text1(5).Text="10:

55"

Text1(6).Text="11:

05"

Text1(7).Text="11:

50"

Text1(8).Text="14:

00"

Text1(9).Text="14:

50"

Text1(10).Text="15:

00"

Text1(11).Text="15:

50"

Text1(12).Text="16:

05"

Text1(13).Text="16:

55"

Text1(14).Text="17:

05"

Text1(15).Text="17:

55"

'如果今天是周末,则不打铃

IfWeekday(Date)=1OrWeekday(Date)=7Then

MsgBox"今天周末,不执行程序"

Timer1.Enabled=False

Timer3.Enabled=False

EndIf

EndSub

————————————————————————————————————

PrivateSubCommand1_Click()[3]

'定义i,j两个静态变量用来,其为数组a(),b()的下标

StaticiAsInteger,jAsInteger

'定义动态数组a(i),b(j),且值保存,分别用于记录列表框中各项的路径和文件名

ReDimPreservea(i),b(j)

'筛选指定格式的文件

CommonDialog1.Filter=”全部格式|*.*|*.mp3|*.mp3|*.wma|*.wma|

*.wmv|*.wmv|*.mid|*.mid”

CommonDialog1.InitDir="D:

\"

CommonDialog1.Action=1

IfCommonDialog1.FileName=""Then'如果没选择文件,退出工程

ExitSub

Else'若选中,文件路径赋给a(),文件名赋给b()。

i,j分别加1,当添加文件后,继续执行

a(i)=CommonDialog1.FileName

b(j)=CommonDialog1.FileTitle

List1.AddItemb(j)

i=i+1

j=j+1

EndIf

EndSub

—————————————————————————————————

'点击command2即“删除”按钮时,删除自定义列表中所选项

PrivateSubCommand2_Click()

List1.RemoveItemList1.ListIndex

EndSub

—————————————————————————————————

'点击command3即“清空”按钮时,清空自定义列表内所有项

PrivateSubCommand3_Click()

List1.Clear

EndSub

—————————————————————————————————

'双击文列表框中某一项时,播放所选歌曲

PrivateSubList1_DblClick()

WindowsMediaPlayer1.URL=a(List1.ListIndex)

WindowsMediaPlayer1.Controls.play

Text4.Text=List1.List(List1.ListIndex)

EndSub

—————————————————————————————————

'执行播放器控件自动打铃的命令

PrivateSubTimer1_Timer()

'首先判断列表框中的项是否被选中,如果选中,往下执行

IfList1.ListIndex<>-1Then

'判断播放器是否正在播放,如果正在播放,则停止,

'自动播放令选择的列表项,以防设置的播放时间超过打铃时间间隔,

'播放后,timer1都要停止工作,否则不会播放,下同

IfWindowsMediaPlayer1.playState=3Then[4]

WindowsMediaPlayer1.Controls.stop

WindowsMediaPlayer1.URL=a(List1.ListIndex)

WindowsMediaPlayer1.Controls.play

Text4.Text=List1.List(List1.ListIndex)

Timer1.Enabled=False

Else'如果播放器处于停止或闲置状态,则播放列表框内所选列表项

WindowsMediaPlayer1.URL=a(List1.ListIndex)

WindowsMediaPlayer1.Controls.play

Text4.Text=List1.List(List1.ListIndex)

Timer1.Enabled=False

EndIf

EndIf

'首先判断文件列表框中的项是否被选中,如果选中,往下执行

IfFile1.ListIndex<>-1Then

'判断播放器是否正在播放,如果正在播放,则停止,

'自动播放令选择的列表项,以防设置的播放时间超过打铃时间间隔

IfWindowsMediaPlayer1.playState=3Then

WindowsMediaPlayer1.Controls.stop

WindowsMediaPlayer1.URL=App.Path&"\mp3\"&File1.List(File1.ListIndex)

WindowsMediaPlayer1.Controls.play

Text4.Text=File1.List(File1.ListIndex)

Timer1.Enabled=False

Else'如果播放器处于停止或闲置状态,则播放文件框内的所选列表项

WindowsMediaPlayer1.URL=App.Path&"\mp3\"&File1.List(File1.ListIndex)

WindowsMediaPlayer1.Controls.play

Text4.Text=File1.List(File1.ListIndex)

Timer1.Enabled=False

EndIf

EndIf

EndSub

—————————————————————————————————

'在label1内显示时间,将其转为字符串格式

PrivateSubTimer2_Timer()

Label1.Caption=Format(Now,"yyyy年m月dd日hh:

mm:

ssdddd")[5]

EndSub

'根据播放计划,调用自动打铃程序

PrivateSubTimer3_Timer()

DimyAsInteger,zAsInteger

x=Format(Time,"hh:

mm")'转化时间为只有小时和分钟的字符串格式

'从0~15判断,如果其中某一文本框与转化后的时间相等,

'根据组合框所选择的播放计划,调用timer1进行自动打铃

Forn=0To15

'当text控件数组中某一项等于转化格式后的时间是,往下执行

IfText1(n).Text=xOrText1(n).Text="0"&xThen

SelectCaseCombo1.ListIndex'选择组合框中的播放计划

Case0'用户选择铃声

'根据一开始时选择的播放铃声,在文件列表框和列表框内找寻索引号

IfFile1.List(y)=Text5.TextThen

File1.ListIndex=y

EndIf

IfList1.List(z)=Text5.TextThen

List1.ListIndex=z

EndIf

Case1'随机播放所选列表的铃声(换列表时请再点一下此计划)

'判定所选列表,进行随机选择

Text5.Text=""'清空text5

IfFile1.Visible=TrueThen

File1.ListIndex=Int(Rnd*File1.ListCount)

EndIf

IfList1.Visible=TrueThen

List1.ListIndex=Int(Rnd*List1.ListCount)

EndIf

EndSelect

'加载窗体时,timer3循环间隔为1秒,直至满足上面的相等条件,调用timer2

'然后改为1分钟循环判断一次,否则每秒都在循环,不断调用timer2,播放器无法播放

Timer3.Interval=60000

Timer1.Enabled=True

EndIf

Nextn

EndSub

—————————————————————————————————

'控制播放时长

PrivateSubTimer4_Timer()

'text3显示播放器的播放进度,且将播放进度转化为整形显示

Text3.Text=CInt(WindowsMediaPlayer1.Controls.currentPosition)

'当播放进度与设定播放时长相等时,则停止打铃

IfVal(Text2.Text)=Val(Text3.Text)Then

WindowsMediaPlayer1.Controls.stop

EndIf

EndSub

4结果分析

4.1运行结果

图4-1设计界面

图4-2启动界面

图4-3点击对话框后的界

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2