国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

用VB構(gòu)建多媒體課件開(kāi)發(fā)平臺(tái)

2009-09-03 09:55:00達(dá)
關(guān)鍵詞:控件調(diào)用代碼

姜 達(dá) 朱 蔚

摘 要:隨著現(xiàn)代教育的快速發(fā)展,多媒體CAI課件的運(yùn)用日漸普及,各種課件制作技術(shù)也是爭(zhēng)齊斗艷,各展其長(zhǎng)。本文從實(shí)踐出發(fā),談?wù)勅绾斡肰B6.0來(lái)構(gòu)建一個(gè)強(qiáng)大便捷的多媒體課件平臺(tái),并介紹一些有關(guān)的編程技巧和關(guān)鍵技術(shù)。

關(guān)鍵詞:VB;多媒體課件

1 課件開(kāi)發(fā)工具的選擇

目前流行的多媒體CAI課件制作軟件主要有PowerPoint、Flash、Authware、Projectorh、方正奧思、VB、VB.net或其他編程語(yǔ)言等,另外還有用于網(wǎng)絡(luò)教學(xué)的三分屏課件制作軟件如課件快手等。以上軟件各有優(yōu)劣,但筆者經(jīng)實(shí)踐探索后認(rèn)為,VB和VB.NET可以很方便地對(duì)我們常見(jiàn)的各種多媒體文件如語(yǔ)音、視頻、動(dòng)畫(huà)、文本等進(jìn)行控制,從而可以構(gòu)建起一個(gè)強(qiáng)大的課件開(kāi)發(fā)平臺(tái),然后我們?cè)俳Y(jié)合其它的多媒體制作技術(shù)如Flash等就可以制作出一個(gè)交互式很強(qiáng)的課件來(lái)。而在VB和VB.NET的選擇上,考慮到目前我們使用的操作系統(tǒng)(一般為XP)均未預(yù)安裝NetFramework1.1或2.0資源包,故筆者還是選擇了大眾化的VB6.0作為課件開(kāi)發(fā)平臺(tái)。

2 VB常見(jiàn)課件開(kāi)發(fā)技術(shù)

2.1 聲音的處理

對(duì)于一個(gè)好的課件來(lái)說(shuō),好的音樂(lè)或解說(shuō)詞是必不可少的。在多媒體課件中加入美妙的背景音樂(lè)、柔和的配音,適時(shí)的聲音提示會(huì)讓人賞心悅目,從而使學(xué)習(xí)者集中注意力,增強(qiáng)學(xué)習(xí)效果。我們?cè)诙嗝襟w課件制作中用到的音頻資料可以從光盤(pán)或網(wǎng)上收集得到,也可以通過(guò)windows的錄音機(jī)或其它軟件錄制。下面是利用MCI控件實(shí)現(xiàn)聲音的播放,其核心代碼為:

Public Const mci_mode_close As Integer =524

Public Const mci_mode_play As Integer =526

Public Const mci_mode_pause As Integer =529

Private Sub sound_Click()

'如果聲音正在播放則暫?;蚶^續(xù)播放

If (Not MMControl1.Mode =mci_mode_pause)And(MMControl1.Mode=mci_mode_play) Then

MMControl1.Command= “pause”

Else

'播放解說(shuō)詞

MMControl1.DeviceType = “WaveAudio”

MMControl1.filename =“文件名.wav”

MMControl1.Shareable = False

MMControl1.UpdateInterval = 50

MMControl1.Notify = True

MMControl1.Command = “open”

MMControl1.Command = “prev”

MMControl1.Command = “play”

End If

End Sub

'如果解說(shuō)已播放結(jié)束,則關(guān)閉媒體播放器

Private Sub MMControl1_Done(NotifyCode As Integer)

If MMControl1.Position = MMControl1.Length Then

MMControl1.Command = “close”

End If

End Sub

2.2 圖片的控制

課件中的靜態(tài)圖片我們一般采用Photoshop制作。Jpg,Gif是課件選用的較多的圖片格式。對(duì)于靜態(tài)圖片利用PictureBox控件,Image控件可以直接加載。而對(duì)于常用的Gif動(dòng)畫(huà)VB6.0中未提供標(biāo)準(zhǔn)控件,這時(shí)我們可以利用第三方提供的Gif控件,如AniGif(相應(yīng)控件可在網(wǎng)上下載)。

2.3 Flash動(dòng)畫(huà)的控制

動(dòng)畫(huà)是由專(zhuān)門(mén)工具對(duì)原始材料進(jìn)行修改、編輯和制作而形成的文件。從形式上講,它是由一系列靜態(tài)圖象的連續(xù)播放。動(dòng)畫(huà)是多媒體技術(shù)的核心技術(shù)之一,在許多多媒體程序中扮演著直觀演示、提示操作、講述情節(jié)等功能。目前,在動(dòng)畫(huà)素材的制作中,大多采用Flash制作,F(xiàn)lash是具有優(yōu)良矢量動(dòng)畫(huà)創(chuàng)作能力的專(zhuān)業(yè)軟件,功能十分強(qiáng)大和獨(dú)特。可采用VB自帶ShockwaveFlash控件加載。VB和Flash動(dòng)畫(huà)之間的交互可以通過(guò)該控件的FSCommand 事件調(diào)用Flash動(dòng)畫(huà)中設(shè)置的參數(shù)來(lái)實(shí)現(xiàn)。

插入Flash動(dòng)畫(huà),控制其播放的核心代碼為:

'開(kāi)始播放Flash動(dòng)畫(huà)

Private sub command1_click()

shockwaveFlash1.play

End sub

'停止播放Flash動(dòng)畫(huà)

Private sub command2_click()

shockwaveFlash1.stop

End sub

'移動(dòng)到Flash動(dòng)畫(huà)的上一幀

Private sub command3_click()

shockwaveFlash1.FrameNum=shockwaveFlash1.FrameNum-1

End sub

'移動(dòng)到Flash動(dòng)畫(huà)的下一幀

Private sub command4_click()

shockwaveFlash1.FrameNum=shockwaveFlash1.FrameNum+1

End sub

'控制Flash動(dòng)畫(huà)全屏播放

Private Sub Form_Load()

Form1.Height = Screen.Height

Form1.Width = Screen.Width

shockwaveFlash1.Width = Me.ScaleWidth

shockwaveFlash1.Height = Me.ScaleHeight

shockwaveFlash1.Left = 0

shockwaveFlash1.Top = 0

shockwaveFlash1.Movie = App.Path + “1.swf”

End Sub

VB與Flash交互的核心代碼為:

Flash控制VB

假設(shè)我們?cè)贔lash中制作了一個(gè)按鈕,并且在按鈕的on事件中編寫(xiě)了以下代碼:

On(release){

Fscommand(“name”);

}

在VB中用shockwaveflash控件加載這個(gè)Flash后,我們就可以在這個(gè)控件的Fscommand事件中編寫(xiě)以下代碼來(lái)用上述Flash按鈕來(lái)控制VB程序,核心代碼如下:

Private Sub fladaohang_FSCommand(ByVal command As String, ByVal args As String)

If command=“name” then

'此處為VB語(yǔ)句

End if

End Sub

用VB控制Flash

主要是通過(guò)用VB調(diào)用Flash的ActionScript來(lái)實(shí)現(xiàn),核心代碼示例為:

Call ShockwaveFlash1.LoadMovie(0, CurDir + “/t.swf”)

2.4 視頻的控制

視頻是圖象數(shù)據(jù)的一種,若干有聯(lián)系的圖象連續(xù)播放就形成了視頻。視頻文件(擴(kuò)展名為AVI、MPG或MOV)可通過(guò)硬件(如視頻采集卡)來(lái)捕獲,也可以通過(guò)軟件(如屏幕錄象專(zhuān)家)來(lái)錄制。通過(guò)VB提供的強(qiáng)大的多媒體控件,可以方便地在多媒體課件中實(shí)現(xiàn)視頻文件的播放。

MCI(媒體控制接口)是Windows提供的功能強(qiáng)大的多媒體程序控制接口,VB是通過(guò)MMControl控件來(lái)調(diào)用MCI實(shí)現(xiàn)對(duì)媒體設(shè)備進(jìn)行控制,而開(kāi)發(fā)人員無(wú)需了解各種多媒體設(shè)備的具體硬件細(xì)節(jié)。下面通過(guò)VB的MMControl控件來(lái)設(shè)計(jì)一個(gè)不僅能實(shí)現(xiàn)常規(guī)控制而且能進(jìn)行精確控制播放對(duì)象的播放器。其步驟和核心代碼如下:

添加MMControl控件。MMControl控件不是VB的標(biāo)準(zhǔn)控件,必須先添加“Microsoft Multimedia Control 6.0”到工具箱中,才可在VB程序中使用。

在窗體中添加一個(gè)圖片框“Picture1”,作為視頻播放窗口。

在窗體中添加一個(gè)MMControl控件“MMControl1”,將MMControl的Visible屬性設(shè)置為“False”;再添加七個(gè)命令按鈕,并將它們的Caption屬性設(shè)置為“前進(jìn)”、 “播放”、 “暫?!?、 “后退”、 “停止”、 “起點(diǎn)”、 “終點(diǎn)”,分別對(duì)應(yīng)MMControl的七個(gè)功能。

編寫(xiě)代碼

在Form_Load( )事件中進(jìn)行初始化。

MMControl1.DeviceType = “AVIViedo”

MMControl1.hwndDisplay=Picture1.hwnd

MMControl1.FileName=app.path+“sample.avi”

MMControl1.Command=“open”

TxtFrom.Text=MMControl1.Start

TxtTo.Text=MMControl1.Length

UpDown1.Max= MMControl1.Length

UpDown2.Max= MMControl1.Length

對(duì)七個(gè)命令按鈕的Click( )事件分別編寫(xiě)MCI動(dòng)作命令。

“后退”按鈕:MMControl1.Command = “back”

“暫?!卑粹o:MMControl1.Command = “pause”

“播放”按鈕:MMControl1.From = Cint(TxtFrom.txt)

MMControl1.To = Cint(TxtTo.txt)

MMControl1.Command = “play”

“前進(jìn)”按鈕:MMControl1.Command = “step”

“停止”按鈕:MMControl1.Command = “stop”

“起點(diǎn)”按鈕:MMControl1.To = MMControl1.Start

MMControl1.Command=“seek”

“終點(diǎn)”按鈕:MMControl1.To = MMControl1.Length

MMControl1.Command=“seek”

運(yùn)行程序,觀察播放效果

在VB中MMControl控件實(shí)現(xiàn)多媒體信息的演示是非常方便的,其實(shí)在VB中還提供了Windows Media Player 控件,使用它更加方便,調(diào)用的核心代碼是:

加載影片:WindowsMediaPlayer1.Url=“視頻地址”

播放影片:WindowsMediaPlayer1.Controls.Play

停止影片: WindowsMediaPlayer1.Controls.Stop

等等。

另外,我們還可以利用有關(guān)的API函數(shù)開(kāi)發(fā)出更強(qiáng)大的多媒體控制軟件來(lái),這里就不作討論了。

2.5 可執(zhí)行程序的調(diào)用

有時(shí)候在多媒體課件制作中,需要調(diào)用外部的一些程序,如小游戲和Flash音樂(lè)等,主要是通過(guò)系統(tǒng)函數(shù)shell進(jìn)行訪(fǎng)問(wèn)的,在VB程序中使用shell函數(shù)可方便的實(shí)現(xiàn)對(duì)EXE文件的訪(fǎng)問(wèn)。其核心代碼為:Shell “外部可執(zhí)行文件路徑”,vbNormalFocus。

2.6 課件的打包與發(fā)布

一個(gè)課件開(kāi)發(fā)完后需要打包發(fā)布,VB可以通過(guò)其自帶的打包工具Package & Deployment Wizard或者其他打包工具進(jìn)行打包,打包后生成Windows標(biāo)準(zhǔn)形式的安裝程序包。

如果不希望打包而使程序能夠直接運(yùn)行,這時(shí)我們可以將打包后的DLL文件和EXE文件存放在同一個(gè)目錄底下一起發(fā)布,相應(yīng)的音樂(lè)、動(dòng)畫(huà)、游戲等文件也要一同附帶上。而且還要提醒大家的是在程序中訪(fǎng)問(wèn)文件一定要采用相對(duì)路徑的方式,否則程序脫離本機(jī)后將出現(xiàn)文件路徑不正確的錯(cuò)誤。

結(jié)束語(yǔ)

總之,在開(kāi)發(fā)多媒體課件方面,用VB來(lái)構(gòu)建一個(gè)多媒體開(kāi)發(fā)平臺(tái),應(yīng)用其豐富的控件對(duì)聲音、圖象、動(dòng)畫(huà)、視頻等進(jìn)行處理,無(wú)疑是一種方便且行之有效的方法。

參考文獻(xiàn)

[1]李健,蔣芃.基于VB在CAI課件開(kāi)發(fā)中的技術(shù)探討[J].湖南廣播電視大學(xué)學(xué)報(bào),2003年01期.

[2]楊洪偉,宋平,宋曉強(qiáng).現(xiàn)代教學(xué)中CAI課件應(yīng)用分析 [J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2006年12期.

猜你喜歡
控件調(diào)用代碼
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
創(chuàng)世代碼
關(guān)于.net控件數(shù)組的探討
軟件(2018年7期)2018-08-13 09:44:42
基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
電腦迷(2012年24期)2012-04-29 00:44:03
新野县| 沁源县| 宿松县| 东阳市| 大厂| 宜州市| 神农架林区| 英德市| 博客| 永城市| 天峻县| 赞皇县| 荣成市| 开远市| 陇川县| 名山县| 比如县| 大埔县| 崇左市| 利辛县| 天长市| 唐山市| 昭通市| 大埔县| 江山市| 托克逊县| 辉县市| 南宫市| 施秉县| 阳曲县| 乐山市| 保定市| 枣阳市| 板桥市| 巴彦县| 丰顺县| 特克斯县| 微山县| 新龙县| 乌苏市| 蓬溪县|