酷文首页  
站内搜索:
网站地图 | RSS订阅 | 收藏本站
经济论文
证券金融
工商管理
会计审计
法学论文
医药论文
社会论文
教育论文
计算机论文
艺术论文
哲学论文
财政税收
财务管理
公共管理
理学论文
政治论文
文学论文
工学论文
文化论文
实用文档
应用文
自考成考
演讲稿
法律文书
子栏目导行↓
网站赞助商↓
本类热点↓
本类更新↓
热门标签↓
网摘收藏↓

歌词同步编辑与显示系统的设计与实现

作者:王斯野
来源:酷文网
点击:
载入中...
加入时间:2008-07-23
字体大小:[  ]

5.2  歌曲播放模块详细设计
   在系统功能模块设计中已经详细介绍了该模块要实现的功能,在本节中将详细阐述所应用的相关函数,方法,各个组件类以及各组件是如何联系从而实现该模块功能的。
首先单击打开按钮,OpenDialog组件执行,判断MP3文件是否存在,将OpenDialog.FileNme赋予Combobox.Text单击“播放”按钮,判断combobox.Text是否为空,如果为空,程序执行异常,跳出对话框“文件不存在”或“音频设备正被占用” [19];如果不为空,将歌词内容存入数组,(歌词内容在歌词编辑模块中打开)因为每一个时间标签对应一句歌词,由时间标签决定歌词出现的时间(时间标签格式:[min:sec:msec],[分,秒,毫秒]),我们可以使用下文提到的StrToInt( )方法将时间标签由字符串类型转换为整型,具体来说就是将min,sec全部以msec表示再存入到数组中 ,这时TTimer组件执行歌曲正常播放。歌词编辑模块中的工具栏可见,可以对歌词进行编辑。以下是该模块过程及变量声明:
5.2.1  歌曲播放模块的变量说明
                       表1  歌曲播放模块数据表

                           Table 1 MP3 Playing module data 
变量名                    中文说明                类型                         说明
Fname                     文件名                 STRING                   指定MP3文件名
F 文本变量                TEXTFILE                将歌词内容以一行文本返回到该变量
Mgc[ ] 整型数组变量            ARRAY                   将歌词存入数组
Min 分                      INTEGER                 指定歌曲的播放时间中的“分”
Sec 秒                      INTEGER                 指定歌曲的播放时间中的“秒”
Msec 毫秒                    INTEGER                 指定歌曲的播放时间中的“毫秒”

L 歌曲播放时间            INTEGER                 获得歌曲播放的总时间
5.2.2  歌曲播放模块的过程说明
**********************************************************************
Procedure Tfrom1.PlaySpeedButtonClick(Sender.TObject);//播放按钮单击事件
var   fname,s,sl:string;
         F:textFile;//文本文件类型
         min,sec,msec,i,j,l:integer;
**********************************************************************
该模块用到的主要方法:
File exists(combobox1.Text)
// 功能说明:检测指定的文件是否存在。如果存在则返回True,反之则为False
Round ( )
//数学方法,对数值进行四舍五入
Change FileExt (Combobox1.Text,'.lrc')
//更改文件的后缀名
Read ln (F,s)
//读取一行文本到S变量中
Eof(F)
//判断文件指针是否移动到了文件末尾。当EOF函数返回值为True时,则不可以使用Read ln函数进行读取文件了
Trim(s)
//去掉字符串s的所有空格
Length(s)
//该函数用于统计指定字符串的长度(即个数)
Copy(s,2,6)
//该函数用于从字符串中复制指定范围中的字符。该函数有3个参数。第一个参数是数据源(即被复制的字符串),第二个参数是从字符串某一处开始复制,第三个参数是要复制字符串的长度(即个数)。最后函数返回一个新的字符串(即是我们指定要复制的字符串内容)
Assign File(F, fname);
//与指定的文件建立连接
Reset( )
//以只读方式打开文件
Closefile( )
//关闭文件,当对文件的操作完成后,应该使用CloseFile函数关闭打开的文件
Strtoint()
//该函数用于将“字符型”转换成“整数型”
Inttostr( )
//该函数用于将“整数型”转换成“字符型”
Show message( )
//显示一个对话框
该模块用到的主要组件:
*TspeedButton组件
   TspeedButton组件是一个按钮,用于执行一个命令。该组件不是从窗口组件中派生的,因此没有Windows句柄,不能获得焦点。但是它具有单击事件,并且能够存储图像。转贴于 酷文网-论文下载中心 http://www.coolwen.net


共6页: 上一页 [1] [2] 3 [4] [5] [6] 下一页

网摘收藏:
免责声明 | 关于我们 | 广告联系 | 友情链接 | 网站地图 | 共同合作
免费论文 毕业论文 毕业论文范文 酷文网(www.coolwen.net) 版权所有 coolwen.net 2007,All Rights Reserved
E-mail:hui_love#tom.com(为防止垃圾邮件请把#换成@) 点击这里给我发消息 点击这里给我发消息
湘ICP备07003917号