• 
    <ul id="auswy"><sup id="auswy"></sup></ul>
  • <ul id="auswy"></ul>
    ABB
    關(guān)注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
    CAIAC 2025
    2025工業(yè)安全大會
    OICT公益講堂
    當前位置:首頁 >> 案例 >> 案例首頁

    案例頻道

    多媒體公路信息管理演示系統(tǒng)
    • 企業(yè):控制網(wǎng)     領(lǐng)域:儀器儀表     行業(yè):廣播電視    
    • 點擊數(shù):2247     發(fā)布時間:2005-05-19 09:15:43
    • 分享到:
    本文著重介紹了多媒體技術(shù)的其中一個應(yīng)用--在公路交通系統(tǒng)中的應(yīng)用,通過使用Visual Basic編寫程序,達到了動態(tài)演示公路交通狀況的效果并成功的與公路交通的數(shù)據(jù)庫連接,實現(xiàn)了動態(tài)演示的同時還能夠進行信息查詢的功能。

     

    1.前言
    公路交通多媒體演示系統(tǒng)簡介:
        此演示系統(tǒng)是一個單機版的開發(fā)軟件,主要功能是實現(xiàn)對一個地區(qū)公路狀況的查詢。在這個系統(tǒng)中,配有沿途事物的錄像以及各個標志性建筑的基本信息(例如一個路口的寬度、流量等)。此系統(tǒng)主要包括:多媒體演示部分,主要實現(xiàn)錄像的播放、圖片的瀏覽;數(shù)據(jù)庫查詢部分,包含了各種道路、橋梁等的信息以供用戶查詢。

    2.多媒體計算機系統(tǒng)的組成
    2.1.多媒體計算機的基本組成
    2.1.1.多媒體計算機的硬件系統(tǒng)
        構(gòu)成多媒體硬件系統(tǒng)除了需要較高配置的計算機主機硬件之外,通常還需要音頻、視頻處理設(shè)備,光盤驅(qū)動器各種媒體輸入/輸出設(shè)備等。

    下圖為多媒體硬件系統(tǒng)基本組成:

    2.1.2多媒體計算機軟件系統(tǒng)
        多媒體計算機軟件系統(tǒng)按功能可分為系統(tǒng)軟件和應(yīng)用軟件。

    (1)多媒體系統(tǒng)軟件
    系統(tǒng)軟件是多媒體系統(tǒng)的核心,它主要運行于多媒體操作系統(tǒng)平臺(如Windows)上,故操作系統(tǒng)平臺是軟件的核心。

    (2)多媒體應(yīng)用軟件
    多媒體應(yīng)用軟件是在多媒體創(chuàng)作平臺上設(shè)計開發(fā)的面向應(yīng)用領(lǐng)域的軟件系統(tǒng)。兩者關(guān)系如圖所示:

                                             
    3.Visual Basic多媒體開發(fā)環(huán)境
    3.1. Visual Basic與Windows
        任何一種程序設(shè)計語言都離不開操作系統(tǒng),用Visual Basic開發(fā)多媒體程序的實質(zhì)是利用了Windows操作系統(tǒng)的多媒體能力。

    3.2.MCI設(shè)備類型
        MCI(Media Control Interface)是媒體控制接口的意思,MCI具有設(shè)備無關(guān)性和可擴展性,使用戶不須使用低級的API就可以播放多媒體素材。

        MCI可以控制簡單設(shè)備和復合設(shè)備。簡單設(shè)備是不需要指定數(shù)字文件的設(shè)備,如CD播放器等。復合設(shè)備是需要指定相應(yīng)的數(shù)據(jù)文件的設(shè)備,如MIDI數(shù)字音頻設(shè)備。MCI具有一個基本功能集包括設(shè)備的打開、播放、暫停、重放、關(guān)閉,這些功能往往可應(yīng)用于所有設(shè)備。擴展功能集可以訪問某一設(shè)備的特殊功能,如逐幀顯示功能,只能用于動畫上,而不能用于CD播放器和波形音頻設(shè)備。MCI可以理解為一類標準接口,凡是復合接口的產(chǎn)品,均可以由MCI控件訪問使用。

    4.使用Visual Basic程序設(shè)計語言設(shè)計多媒體程序
    4.1. Visual Basic設(shè)計多媒體程序的方法
        在Visual Basic中,大致有以下幾種方法設(shè)計多媒體程序:

    1) 在實踐過程中用編碼改變屬性。

    2) 利用picture 控件循環(huán)顯示畫面。

    3) 利用OLE控件(MSOLE.VBX)。

    4) 媒體控制對象MCI.VBX和其他第三方控件。

    5) 利用API函數(shù)。

    4.2. Visual Basic設(shè)計多媒體程序要注意的幾個問題
    1) 多媒體素材的運用,包括注意選用的標準堅持少而精的原則;注意各種素材之間的同步問題。

    2) 多媒體頁面的連接。

    3) 程序優(yōu)化。

    4) 注意媒體設(shè)備的使用。

    5.具體的多媒體程序設(shè)計過程
    5.1.錄像、聲音的播放
        主要是利用Mediaplayer 控件編程,分為添加控件、添加代碼、運行程序等幾個步驟。
    具體程序如下:

    Private Sub Command2_Click()

    Form1.MediaPlayer2.Open("D:\Sound\Track01.wav") ' 播放聲音

    End Sub

    Private Sub Command1_Click()

    Form1.MediaPlayer1.pen("D:\mm.avi") ' 播放錄像

    Form1.MediaPlayer2.Open("D:\Sound\Track01.wav") ' 播放聲音

    End Sub

    Private Sub Command4_Click()

    Flag=Not flag

    If flag=True Then

    Form1. MediaPlayer2.Stop

    Else

    Form1. MediaPlayer2.Play '實現(xiàn)聲音的暫停,完成靜音功能

    End If

    End Sub

        在完成了錄像、聲音的播放之后,讓我們通過鼠標點擊事件來返回錄像的當前位置(當前幀數(shù)),來實現(xiàn)與數(shù)據(jù)庫的連接。與數(shù)據(jù)庫連接的基本思想是:在同一工程中設(shè)置一個變量(設(shè)為aa)在多媒體演示部分返回的錄像當前值賦給aa,再傳遞到數(shù)據(jù)庫部分來實現(xiàn)查詢功能,從而完成了與數(shù)據(jù)庫的連接,由此可見這個變量非常重要,即錄像停下的當前值非常重要。

        下面介紹如何獲取錄像停下時刻的值:

        利用MediaPlayer控件的屬性之一currentposition來完成,通過窗體點擊事件form-click(),我們可以通過如下的代碼語句獲得當前位置(幀數(shù)):

    Private Sub Form_Click()

    Text1.Text= MediaPlayer1.CurrentPosition '返回錄像的當前位置(當前幀數(shù))

    aa= MediaPlayer1.CurrentPosition

    End Sub

        這樣把aa傳給了數(shù)據(jù)庫,實現(xiàn)了多媒體與數(shù)據(jù)庫的連接。

    5.2.圖片的瀏覽
        因為圖片的清晰度遠遠高于錄像本身,所以對于用戶來說,對于他感興趣的部分(如路口、牌匾等標志性建筑),他們有理由獲取更詳細的信息,這時就會用到圖片瀏覽器。同樣這里也存在著一個與數(shù)據(jù)庫連接的問題,在這里,與數(shù)據(jù)庫連接的基本思想是在同一模塊中定義一個變量(設(shè)為cc),通過賦給cc不同的值來選擇瀏覽不同的圖片,這個值是在查詢時由用戶輸入的,它會有一個指定的范圍。

    圖片瀏覽器制作如下:
        添加一個picture box控件,命名為"picview"在其中放置一個圖片框控件,命名為"picscroll",用于顯示圖片內(nèi)容,在窗體最左側(cè)和下側(cè)各添加一個滾動條,用于大圖瀏覽。
    添加代碼如下:
    Private Sub Command1_Click()

    End

    End Sub

    Private Sub Form1_Load()

    Dim cc As Integer

    Select Case cc

    Case 1  picscroll.Picture=LoadPicture("D:\1.jpg")

    Case 2  picscroll.Picture=LoadPicture("D:\2.jpg")

    ……………………

    case 20  picscroll.Picture=LoadPicture("D:\20.jpg")

    End Select

    If picscroll.Width<picview.ScaleWidth Then  '將圖形的寬和高于picview的寬和高進行比較

    picscroll.Left=(picview. Width -ScaleWidth)\2       '如果都小于將picscroll放在picview中心

    hscpic.Visble=False                      '不顯示滾動條

    Else                                   '否則,如果寬度大于picview的寬

    picscroll.Left=0                          '則將picscroll的左邊界定為在
    picview最左端,

    hscpic.Visble=True                       '并顯示水平滾動條

    hscpic.Value=0

    hscpic.Max=picscroll.Width-picview.ScaleWidth

    hscpic.SmallChange=picscroll.Width\20

    hscpic.LargeChange= picscroll.Width\10

    End If

    If picscroll.Height<picview.Height Then     '將圖形的寬和高于picview的寬和高進行比較

    picscroll.Top=(picview.Height -ScaleWidth)\2   '如果都小于將picscroll放在picview中心

    vscpic.Visble=False                      '不顯示滾動條

    Else                                   '否則,如果高度大于picview的高

    picscroll.Top =0                          '則將picscroll的上邊界定為在

    picview最上端,

    vscpic.Visble=True                       '并顯示垂直滾動條

    vscpic.Value=0

    hscpic.Max=picscroll.Height -picview.ScaleHeight

    vscpic.SmallChange=picscroll.Height \20

    vscpic.LargeChange= picscroll.Height \10

    End If

    End Sub

    6.最終的公路交通多媒體演示系統(tǒng)

     

     

     

     

     

    熱點新聞

    推薦產(chǎn)品

    x
    • 在線反饋
    1.我有以下需求:



    2.詳細的需求:
    姓名:
    單位:
    電話:
    郵件: