- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
个性化播放器与界面编辑器
个性化播放器与界面编辑器
的应用与实现原理
软件概述
个性化播放器是一个功能强大的多煤体播放器,支持大部份的多媒体格式文件,其界面美观,操作方便,可以将主窗口稳藏起来而在系统托盘中完成大部份操作,支持文件列表,支持列表中文件的简单查询;其自带的界面编辑器可以自由改变主窗体的形状、大小、颜色、背景图,可以改变按纽的大小、图案、位置,可以更改进度条和音量调节游标的大小,颜色和位置,可以改变播放器的名字,关于窗口中除外(为了保留作者名)。而且由于系统本身的多煤体驱动程序采用了微软的标准驱动程序,所以它的内核将随着操作系统的升级而升级。? 本软件最大的特点之一就是可以让用户自由设计界面,做出一个属于自己的播放器,其专用编辑器提供了强大的界面设计功能。它不但可以让你的界面要圆就圆,要方就方,而且可以根据你指定的图片自动生成一个不规则的界面。不但主界面如此,就连按纽都可以这样做。主界面背景图有“正常,平铺,拉伸”三种选择。你可选择要不要显示背景图。每个按纽你都可以将他变成任何形状,改变字体的各种属性。你也可以改变进度条,左右声道等的各种属性,最后一点,你连程序的名字、图标都可以更改。
下面
对用户来说,一个良好的操作界面可以带给用户更多的方便,一个良好的控制机构也能协调用户的使用习惯。我们决不能让一个按纽做它不应该做的事,比如说一个播放按纽,用户还没有选择歌曲,而且列表中也没有预先存定的文件,你何必做什么播放处理。所以我们对每一个控件在实行它的义务前首先要检测自己有没有必要实行它的义务。我们采用几个变量和部份控件原有的属性来确定当前的播放状态,如当前列表中歌曲的数目,当前播放歌曲在列表中的位置,当前歌曲的播放进度等等。
单曲播放进度的状态相关控制
我们采用了一个定时器,每隔0.5秒我们检测一下当前所有的状态属性,并相应的对已播放帧进行统计,及时反映给用户,同时程序做出相应的处理,如当一首歌曲播放完时,如果列表中有下一首歌曲,则自动播放下一首等等操作。
音量的调节及相关操作
这里我们用到了一个Windows函数:
MMRESULT waveOutGetVolume(
HWAVEOUT hwo, // 波形文件输出设备的标识符
LPDWORD pdwVolume // 音量的大小
);
pdwVolume 是一个32位的整数,低16位表示左声道的音量,高16位表示右声道的音量。我们用变量V来表示。由于我们的Trackbar 只用8位二进制数表示音量,因此先把得到的8位音量T左移8位,变成右声道16位中的高8位,这样使音量的改变效果明显。然后把音量值T左移24位,变成右声道16位中的高8位。这两个值进行“或”运算后赋给V,这样V就成为第二个参数所要的值了。
为了仅仅修改左声道,同时保持右声道的音量,我们可把V和$ffff0000进行与运算。这样,V的低16位被清零,高16位保持不变。然后,低16位用Trackbar 的位置左移8位来表示,成为新的左声道音量。右声道处理也类似如此。
视频窗口的切换处理
当播放视频的时候,由于系统本生会自动生成一个视频窗口,但这样有时会不合乎我们的习惯,因为我们必须把视频窗口控制在我们指定的范围内。这就要用到TMediaPlayer的Display属性了,我们可以新建一个窗体,并在其上面放上一个TPanel控件,调整好大小,然后把TmediaPlayer的Display指向它。最后,为了自动让视频充满整个区域,我们可使用以下语句:
MediaPlayerX.DisplayRect:=Rect(0,0,PanelX.width,PanelX.height);
当我们想做全屏幕播放时,我们只需把窗口设为最大化,并将窗体类型高为None,这样就没有了标题栏等等,只剩下的客户区充满了整个屏幕,也就达到了全屏幕播放的效果。
文件列表的处理
文件列表的处理,要归功于Delphi对Ini文件的操作。我们将文件列表的信息保存在一个INI文件中。使用三个小节,第一个小节存放的信息为了确定该INI文件是不是专用的列表文件;第二个小节存放列表中的歌曲数目和最后一次播放的歌曲在列表中的位置,第三个小节存放各首歌曲在磁盘中的存放路径。同时,我们在内存中增加三个变量,第一个是当前列表中歌曲的数目,第二个是当前播放歌曲在列表中的位置,第三个是最后一次播放歌曲在列表中的位置。为了让用户可以通过右击直接播放当前位置的文件,我们作了以下判断:
双击位置的歌曲与当前播放的歌曲是同一首,我们不做任何处理;
如果当前有歌曲正在播放,我们停止它;
对应路径查找该歌曲文件,如找到刚做下一步,如找不到,把它从列表中删除,列表文件数目减一;
开始播放当前选取中歌曲,并修改最后一次播放歌曲在列表中的位置。
系统托盘操作的处理
这里需要用
您可能关注的文档
- 【大道至简】-画线小金手操盘法.doc
- 【妙用堂】天然玉化砗磲手链报价贵不贵.doc
- 【股指期货】微操盘每日直播(6-13).doc
- 【股票指标公式下载】-【通达信】操盘圣手(箱顶、箱底、箱高).doc
- 【股票指标公式下载】-【通达信】金端操盘(差值、立桩量).doc
- 【股票指标公式下载】-【通达信】战神操盘(全仓买、减仓、买进、超跌反弹、成功率).doc
- 一.doc国际财务练习2.doc
- 【远景古建筑设计】峨眉院子外立面装饰设计.doc
- 一位国小学童机率概念之个案研究.doc
- 一年级学习准备期 My classroom.doc
- 数据仓库:Redshift:Redshift与BI工具集成.docx
- 数据仓库:Redshift:数据仓库原理与设计.docx
- 数据仓库:Snowflake:数据仓库成本控制与Snowflake定价策略.docx
- 大数据基础:大数据概述:大数据处理框架MapReduce.docx
- 实时计算:GoogleDataflow服务架构解析.docx
- 分布式存储系统:HDFS与MapReduce集成教程.docx
- 实时计算:Azure Stream Analytics:数据流窗口与聚合操作.docx
- 实时计算:Kafka Streams:Kafka Streams架构与原理.docx
- 实时计算:Kafka Streams:Kafka Streams连接器开发与使用.docx
- 数据仓库:BigQuery:BigQuery数据分区与索引优化.docx
最近下载
- 2024-2025学年初中信息科技冀教版2024七年级全一册-冀教版2024教学设计合集.docx
- 重大危险源管控措施及方案.doc VIP
- 十三辙《韵辙表》——合辙押韵必备.pdf VIP
- 2024年凉山州越西县卫生健康局聘用村卫生室村医笔试真题.docx VIP
- 生产与运作分析第七版史蒂文·纳米亚斯习题答案第6章.docx VIP
- 数字逻辑与数字系统朱正东习题答案.pdf VIP
- 冀教版英语九年级上册课堂同步练习试题及答案(全册).pdf VIP
- 烟雾病讲解课件.ppt
- 生产与运作分析第七版史蒂文·纳米亚斯习题答案第5章.docx VIP
- 以病例分析为主导的营养诊疗示范题库答案-2025年华医网继续教育答案.docx VIP
文档评论(0)