论文部分内容阅读
[摘要]多媒体设计是一门集计算机技术和数字多媒体技术于一体的综合设计。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.
(作者单位:河南焦作师范高等专科学校)
[关键词]多媒体 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.
(作者单位:河南焦作师范高等专科学校)