• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      用VB構(gòu)建多媒體課件開發(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來構(gòu)建一個(gè)強(qiáng)大便捷的多媒體課件平臺(tái),并介紹一些有關(guān)的編程技巧和關(guān)鍵技術(shù)。

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

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

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

      2 VB常見課件開發(fā)技術(shù)

      2.1 聲音的處理

      對(duì)于一個(gè)好的課件來說,好的音樂或解說詞是必不可少的。在多媒體課件中加入美妙的背景音樂、柔和的配音,適時(shí)的聲音提示會(huì)讓人賞心悅目,從而使學(xué)習(xí)者集中注意力,增強(qiáng)學(xué)習(xí)效果。我們?cè)诙嗝襟w課件制作中用到的音頻資料可以從光盤或網(wǎng)上收集得到,也可以通過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

      '播放解說詞

      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

      '如果解說已播放結(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)畫VB6.0中未提供標(biāo)準(zhǔn)控件,這時(shí)我們可以利用第三方提供的Gif控件,如AniGif(相應(yīng)控件可在網(wǎng)上下載)。

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

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

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

      '開始播放Flash動(dòng)畫

      Private sub command1_click()

      shockwaveFlash1.play

      End sub

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

      Private sub command2_click()

      shockwaveFlash1.stop

      End sub

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

      Private sub command3_click()

      shockwaveFlash1.FrameNum=shockwaveFlash1.FrameNum-1

      End sub

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

      Private sub command4_click()

      shockwaveFlash1.FrameNum=shockwaveFlash1.FrameNum+1

      End sub

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

      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事件中編寫了以下代碼:

      On(release){

      Fscommand(“name”);

      }

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

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

      If command=“name” then

      '此處為VB語句

      End if

      End Sub

      用VB控制Flash

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

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

      2.4 視頻的控制

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

      MCI(媒體控制接口)是Windows提供的功能強(qiáng)大的多媒體程序控制接口,VB是通過MMControl控件來調(diào)用MCI實(shí)現(xiàn)對(duì)媒體設(shè)備進(jìn)行控制,而開發(fā)人員無需了解各種多媒體設(shè)備的具體硬件細(xì)節(jié)。下面通過VB的MMControl控件來設(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è)功能。

      編寫代碼

      在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( )事件分別編寫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ù)開發(fā)出更強(qiáng)大的多媒體控制軟件來,這里就不作討論了。

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

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

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

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

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

      結(jié)束語

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

      參考文獻(xiàn)

      [1]李健,蔣芃.基于VB在CAI課件開發(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中常見的自定義控件
      電腦迷(2012年24期)2012-04-29 00:44:03
      汉源县| 喀喇沁旗| 柳江县| 塘沽区| 增城市| 当阳市| 泾阳县| 纳雍县| 武冈市| 渑池县| 乌兰察布市| 秭归县| 手机| 壤塘县| 平阳县| 米易县| 松江区| 惠来县| 保亭| 静海县| 仁化县| 琼结县| 商丘市| 区。| 勃利县| 铁岭市| 黔东| 郧西县| 阜阳市| 城步| 信阳市| 山阳县| 通许县| 荃湾区| 邹城市| 巴马| 盱眙县| 若羌县| 大丰市| 苍南县| 青田县|