利用VisualC#開發(fā)一個(gè)媒體播放器

字號(hào):

簡(jiǎn)介
    Microsoft Visual C# 是世界上最流行的編程語(yǔ)言,利用 Visual C# 的最新版本 Visual C# .NET,您能夠快速、有效地開發(fā)基于 Windows 窗體的應(yīng)用程序,還可以為嵌入了 Microsoft Windows Media? Player 9 Series ActiveX 控件的應(yīng)用程序添加新鮮、有趣而又非常實(shí)用的功能。
    DirectShow 控件是一個(gè)標(biāo)準(zhǔn)的 ActiveX 控件,提供了大量的功能。DirectShow控件提供的功能包括:
    · 數(shù)字媒體文件和流媒體的高級(jí)播放功能。     
    · 使用播放列表的功能。
    · 播放 DVD 和 CD 的功能。
    · 訪問 Windows Media Player 中的 Media Library(媒體庫(kù))。
    · 處理元數(shù)據(jù)的功能。
    · 支持字幕。
    · 支持多種語(yǔ)言的音頻。
    · 控制網(wǎng)絡(luò)連通性和訪問相關(guān)統(tǒng)計(jì)信息的功能。
    下面我們來(lái)看看構(gòu)造這個(gè)媒體播放器要達(dá)到什么樣的目標(biāo),確定了目標(biāo)也就確定了代碼量和程序的復(fù)雜程度。本文的媒體播放器要達(dá)到如下目標(biāo):
    · 是一個(gè)菜單驅(qū)動(dòng)的簡(jiǎn)單AWT應(yīng)用。
    · 包含一個(gè)“文件”菜單,文件菜單包含三個(gè)菜單項(xiàng):
    · “打開”,用來(lái)打開媒體文件。
    · “循環(huán)”,是播放一次(默認(rèn)),還是重復(fù)播放。
    · “退出”,退出程序。
    · 可以在多種平臺(tái)上運(yùn)行。
    · 核心功能通過JMF(Java Media Framework)API實(shí)現(xiàn)。
    按照本文介紹的步驟,您將創(chuàng)建一個(gè)基于 Windows 窗體的基本應(yīng)用程序,并在其中嵌入 Player 控件。您創(chuàng)建的示例應(yīng)用程序具有如下特點(diǎn):
    · 創(chuàng)建 DirectShow 控件的一個(gè)實(shí)例。
    · 利用 Windows Media Player 主互操作程序集提供組件對(duì)象模型 (COM) 互操作性。
    · 允許用戶打開并播放 Windows Media 文件,尤其是文件擴(kuò)展名為 .wma 或 .wmv 的文件。
    · 創(chuàng)建供用戶播放、暫停和停止數(shù)字媒體內(nèi)容的傳輸控制按鈕。
    · 顯示當(dāng)前數(shù)字媒體文件的標(biāo)題。
    · 演示如何使用 Player 對(duì)象模型,包括使用屬性、方法和事件的示例。
    我的這個(gè)程序僅僅只是告訴大家如何用DirectShow 在C#中做一個(gè)播放機(jī),在這個(gè)程序中我們經(jīng)要解決的一些小問題:
    1.如何從你的磁盤上打開媒體文件
    2.如何讓工具條上的按鈕起用和禁用
    3.如何設(shè)置狀態(tài)欄的顯示文字
    4.如何控制時(shí)間 
    5.如何使用時(shí)間控件的事件
    6.如何用DirectShow來(lái)播放媒體文件
    7.如何確定播放狀態(tài)等等...
    下圖顯示了您將要?jiǎng)?chuàng)建的應(yīng)用程序,其中正在播放名為“Melow”的數(shù)字音頻文件,同時(shí)呈現(xiàn)了可視化效果。
    · 本文假設(shè)您已經(jīng)具備一定的 Visual C# 和 Visual Studio.NET 集成開發(fā)環(huán)境知識(shí)。