基于VB.NET多媒体Flash播放器的实现

来源 :中国校外教育·理论 | 被引量 : 0次 | 上传用户:stacy_sj
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]多媒体设计是一门集计算机技术和数字多媒体技术于一体的综合设计。Visual Basic.NET是下一代的Visual Basic,Visual Basic.net是Microsoft公司开发的新一代窗体编程工具软件,由于它具有先进的设计思想,使之成为多媒体应用程序开发的理想工具,其提供的Flash控件是多媒体控制接口,利用这个接口跳过硬件访问并调用本地的符合其规格的多媒体解码驱动,进而实现Flash文件的播放。
  [关键词]多媒体 VB.net Flash控件
  
  一、引言
  
  在当今信息社会,以多媒体为特征的信息技术和信息产业的发展及应用对人类社会产生的影响和作用愈来愈明显,愈来愈重要。多媒体开发用到的媒体不再局限于传统程序设计用到的数值、文本,还包括图形、图像、声音和动画等媒体,其所涉及的信息范围和空间大为扩展。其次,多媒体开发将使用户不再仅仅被动地接受信息,而且可以主动地参与到整个信息交流过程中去。它向用户提供更加有效的控制和使用信息的手段及方法,同时也为应用开辟了更加广阔的领域。多媒体开发可做到让用户自由地控制和干预信息的处理,增加对信息的注意力和理解,延长信息的保留时间。再次,在多媒体开发过程中不仅要集成多媒体信息,还要集成与之有关的工具和设备。多媒体开发要使各种信息媒体成为一个有机的整体,以便实现信息的充分共享和操作。
  Visual Basic.NET是下一代的Visual Basic,是Microsoft公司开发的Windows编程工具软件,Visual Basic.NET现在完全集成在其它的Microsoft Visual Studio .NET语言中,由于它具有先进的设计思想、快速易掌握的使用方法及控制媒体对象手段灵活多样等特点,受到了多媒体软件开发人员的关注和青睐,也因此成为多媒体应用程序开发的理想工具,以下为具体设计实现过程。
  
  二、信息界面的设计与实现
  
  首先为窗体添加一个panel控件,再在该控件上添加flash控件ShockWaveFlash,设置panel和flash控件的dock属性都为fill。为实现全屏显示做准备。然后,再为其添加一个菜单资源和状态栏。一个菜单系统(打开,播放,退出,全屏,显示播放状态信息),为实现从文件打开flash文件,需要给窗体添加一个openfiledialog控件,为了实现显示播放进度,需要一个timer控件实现计时功能。该内容将在状态栏中显示。在应用程序窗体中添加一个Flash控件后就可以通过它来打操作Flash文件。在实现过程中,会遇到一个新问题:如何实现和关闭全屏显示,为了解决这个问题,可以通过以下几个方面来实现:(1)将ShockWaveFlash控件的dock属性设为Fill。(2)由于ShockWaveFlash没有边界,需要添加一个panel控件,可以实现边框的效果。(3)设置好属性后,就是要实现全屏,执行特定代码,首先要设置窗体的formborderstyle为none,这样就没有标题栏;然后将菜单项的visible属性设为False,这样菜单也没有了,就可以实现全屏。
  实现全屏工作还没结束,要退出全屏,通常按esc键退出,就需要对onkeypress事件进行编程。当然还需要把窗体的keypreview属性设为真。以下是实现的主要代码:
  ‘初始化窗体操作
  Private sub form1_load(byval sender as object,byval e as system.eventargs) handles mybase.load
  Openfiledialog1.filter=”flash文件(*.swf)|*.swf”
  Statusbar1.visible=false
  Statusbar1.panels(0).text=”等待”
  Statusbar1.panels(1).text=””
  Statusbar1.panels(2).text=””
  Statusbar1.panels(3).text=””
  Statusbar1.panels(4).text=”Flash播放器”
  Panel1.dock=dockstyle.fill
  End sub
  ‘编写菜单项事件处理函数
  Private sub退出_click(byval sender as system.object,byval e as system.eventargs) handles退出.click
   Me.close()
  End sub
  Private sub打开_click(byval sender as system.object,byval e as system.eventargs) handles打开.click
   If(openfiledialog1.showdialog()=dialogresult.ok) then’打开文件成功,则进行播放
  If(axshockwaveflash1.isplaying=true)then
  axshockwaveflash1.movie= openfiledialog1.filename
  me.text= openfiledialog1.filename
  axshockwaveflash1.play()
  timer1.enabled=true
  狀态.enabled=true
  End if
  End if
  End sub
  ‘关闭全屏显示,同时附加对状态栏的处理
  Private sub form1_keypress(byval sender as object,byval e as system.windows.forms.keypresseventargs) handles mybase.keypress
  Dim keyascii as short=asc(e.keychar)
  If keyascii as short=asc(e.keychar)
  If fullscreen=true then
  Fullscreen=false
  Me.windowstate=formwindowstate.normal
  Me.formborderstyle= formborderstyle.sizable
  Me.location=oldpoint
  Me.width=oldwidth
  Me.height=oldheight
  播放.visible=true
  Statusbar1.visible=状态.checked
  Else
  End if
  Else
  End if
  If keyascii=0 then
  e.handled=true
  end if
  End sub
  ‘编写timer1控件处理函数,来动态显示正在播放的flash文件的信息
  Private sub timer1_tick(byval sender as system.object,byval e as system.eventargs) handles timer1.tick
   If(axshockwaveflash1.isplaying=true)then
  Statusbar1.panels(0).text=”总共”
  Statusbar1.panels(1).text= axshockwaveflash1.totalframes.tostring() ”帧”
  Statusbar1.panels(2).text=”正在播放第”
  Statusbar1.panels(3).text= axshockwaveflash1.currentframe.tostring() ”帧”
  End if
  End sub
  
  三、结束语
  
  综上所述,利用Visual Basi.net中的Flash控件开发WINDOWS下的Flash文件播放器是一种方便简单的方法,但对于事件处理函数和全屏效果的实现,需要对控件有足够的熟悉,当然,还可以利用WINDOWS系统的与媒体播放有关的API函数,设计出功能更强的应用程序。
  
  参考文献:
  [1]田原,等.清华大学出版社,2006,12.
  [2]龚沛曾,等.Visual Basic程序设计教程.高等教育出版社,2004,7.
  (作者单位:河南焦作师范高等专科学校)
其他文献
[摘要]词汇在英语学习中的作用受到越来越多的重视,然而在词汇教学中存在着许多问题。为解决这一问题,本文主张以词汇教学的方法和策略为基础,组织、丰富课堂活动,调动学生学习兴趣和积极性,使学生在实际生活中可以灵活运用词汇。  [关键词]词汇教学 语境熏陶 语块    一、高中英语词汇教学存在的问题  1.对词汇教学不够重视,教学方法陈旧单一  教师常将生词及其基本用法打印出来,让学生自学或是跟读后简要
[关键词]中学语文 课堂教学 方法初探    课堂教学是语文教学的重要环节。优化语文课堂教学,让学生醉心于课堂教学,并在课堂上有最大的收益。我认为这就是我们教学改革为之奋斗的目标。  要优化语文课堂教学,我们首先要认识教师的角色。我们作老师的面对教材,应该作一个研究者,吃透教材的内容,领会教材的精神实质,思想感情。然后了解被教育对象的有关情况。在课堂教学过程中,师生之间提倡伙伴关系,生生之间合作探
[摘要]在课堂教学中,一要重视培养学生收集信息和处理信息的能力,二要有明确的教学目标,三要加强物理教学的实验性,四要“自主、合作、探究”的学习方式与传统教学方式进行有机结合,五要重视全体学生的发展,探索因人而异的教学方法,六要多用身边的物品进行物理实验。  [关键词]物理教学 新课标 课堂教学 改革    义务教育阶段新的物理课程要求改变过分强调知识传承的教学方法,注重让学生经历科学探究的过程,学
Abstract:This article intends to shed some light on effective use of three reading strategies: skimming, scanning and studying for non-English-speaking middle school students. The article also present
【摘 要】职业技术学校中的数学课作为一门工具课,是为专业课服务的,笔者就职校生在数学学习过程中存在的问题进行分析,通过注重初中与职高数学的衔接、巧用心理策略、加强教学的科学性和艺术性等手段以达到职高后进生数学学习的转化。  【关键词】数学教学 后进生 心理策略 科学性 艺术性    职业高中与普通高中在数学课教学中有很大的区别。数学课在普通高中作为一门主科,学生基础较好,学习兴趣浓。而职业高中数学
[摘要]不要为了批评而批评,而是在批评的同时,挖掘批评的深层内涵,就是在批评前,要设身处地地理解学生;对学生进行批评时,要中肯客观地指出学生的错误;在进行批评后,要给学生信任和鼓舞。  [关键词]批评 赏识教育 中肯客观 信任    前几年,在教育界的报刊杂志上,出现了“赏识教育”和“宽容教育”这几个字眼,频率之高,另人惊叹。作为教师,我从来都欣赏“赏识教育”、“宽容教育”,也从来认可“好孩子是表
[摘要]本文针对英语口语教学中的小组合作学习作了一番探述。笔者认为在教学中通过采用合理的划分学习小组、开展互动式的口语学习交流来提高学生的英语口语表达能力。小组合作学习中一定要注意发挥学生学习语言的主动性与积极性,做到点面结合,层层互动,提高学生的英语口语表达能力。  [关键词]高中英语 口语教学 小组合作    新课程英语教学倡导在教学过程中,采用形式多样的学习方式,尤其是同学们的合作学习,建议
[关键词]校外美术教育 学生 积极性    每逢周末,我们总能看到许多家长带着孩子,或背着画板,或背着各种乐器,行色匆匆地走在路上,这都是些望子成龙的家长。现在,利用周末时间让孩子参加各种兴趣班、培训班,已经成了一种潮流。作为一名少年宫美术教师,我经常接触到这样的家长和孩子。如何在校外教育中充分调动学生的积极性,让家长的要求重新真正成为为孩子自己的兴趣。我认为要解决这一问题,核心关键是激发学生的兴
【摘要】孝道是中华民族的传统美德,孝道教育是学校德育的重要内容,也是学校传统文化教育的重要组成内容,然而当下初中生的孝道观令人担忧,对学生进行孝道教育很有必要。本文结合当地传统文化,探讨如何挖掘名人孝道素材,对初中生施行有效的孝道教育。  【关键字】孝道 孝道教育 湛甘泉 德育 初中生  【中图分类号】G633.2  【文献标识码】A  【文章编号】1992-7711( 2020) 06-014-
【摘 要】研究性学习是一种积极灵活的学习方式,主要是指学生在教师指导下,以主体的姿态带着科学研究的精神自主地参与学习过程,以问题为载体,创设一种类似科学研究的情境或途径。培养学生分析问题、解决问题的能力,进而培养学生的创新意识和实践能力。  【关键词】研究性学习 问题情境 学生    研究性学习是引导学生通过个体探索和小组合作相结合的方式收集、分析、处理信息,感受和体验知识的产生过程,进而了解社会