c#開發的媒體播放器

來源:互聯網
上載者:User

標籤:

在Microsoft Visual C# .NET 中使用 DirectShow 控制項,來開發一個媒體播放器。按照本文介紹的操作步驟,您可以建立一個簡單 Visual C# 應用程式,用來播放數字音頻和視頻。
介紹

Microsoft Visual C# 是世界上最流行的程式設計語言,利用 Visual C# 的最新版本 Visual C# .NET,您能夠快速、有效地開發基於 Windows 表單的應用程式,還可以為嵌入了 Microsoft Windows Media? Player 9 Series ActiveX 控制項的應用程式添加新鮮、有趣而又非常實用的功能。

  DirectShow 控制項是一個標準的 ActiveX 控制項,提供了大量的功能。DirectShow控制項提供的功能包括:

  · 數位媒體檔案和流媒體的進階播放功能。     

  · 使用播放清單的功能。
  · 播放 DVD 和 CD 的功能。
  · 訪問 Windows Media Player 中的 Media Library(媒體庫)。
  · 處理中繼資料的功能。
  · 支援字幕。
  · 支援多種語言的音頻。
  · 控制網路連通性和訪問相關統計資訊的功能。

  下面我們來看看構造這個媒體播放器要達到什麼樣的目標,確定了目標也就確定了代碼量和程式的複雜程度。本文的媒體播放器要達到如下目標:

  · 是一個菜單驅動的簡單AWT應用。
  · 包含一個[檔案] 功能表,檔案菜單包含三個功能表項目:
  · “開啟”,用來開啟媒體檔案。
  · “迴圈”,是播放一次(預設),還是重複播放。
  · “退出”,退出程式。
  · 可以在多種平台上運行。
  · 核心功能通過JMF(Java Media Framework)API實現。

  按照本文介紹的步驟,您將建立一個基於 Windows 表單的基本應用程式,並在其中嵌入 Player 控制項。您建立的應用程式範例具有如下特點:

  · 建立 DirectShow 控制項的一個執行個體。
  · 利用 Windows Media Player 主要 Interop 組件提供元件物件模型 (COM) 互通性。
  · 允許使用者開啟並播放 Windows Media 檔案,尤其是副檔名為 .wma 或 .wmv 的檔案。
  · 建立供使用者播放、暫停和停止數位媒體內容的傳輸控制按鈕。
  · 顯示當前數位媒體檔案的標題。
  · 示範如何使用 Player 物件模型,包括使用屬性、方法和事件的樣本。

  我的這個程式僅僅只是告訴大家如何用DirectShow 在C#中做一個播放機,

  在這個程式中我們經要解決的一些小問題:

  1.如何從你的磁碟上開啟媒體檔案

  2.如何讓工具條上的按鈕起用和禁用

  3.如何設定狀態列的顯示文字

  4.如何控制時間 

  5.如何使用時間控制項的事件
 
  6.如何用DirectShow來播放媒體檔案

  7.如何確定播放狀態等等…

  顯示了您將要建立的應用程式,其中現正播放名為“Melow”的數字音頻檔案,同時呈現了視覺效果。

本文假設您已經具備一定的 Visual C# 和 Visual Studio.NET 整合式開發環境知識。
準備工作

  在開始建立應用程式之前,您需要安裝必要的軟體並註冊主要 Interop 組件 (QuartzTypeLib)。

  這裡簡單介紹DirectShow 介面:

  播放視屏和音效檔我們要用到DiectX為我們提供的DirectShow組件.使用這個介面可以讓你方便的播放那些共用的影像和音效檔.你要做的僅僅只是安裝DirectShow介面和使用它的功能函數和配置正確的介面參數而已.

  不幸的是.NET並不正式支援DirectX.是的也許你聽說DirectX9支援是嗎?是的,不過在最終版敲定的那一天還沒來,我們都得不到最好的效果.但無論如何我們還是要用的不是嗎?要不這篇文章得作廢了.是的,也許你用過VB,對了,就是它,我們正是要用到那個.

  開始項目

  在安裝必要軟體並註冊 QuartzTypeLib之後,您就可以啟動 Visual C#,開始為應用程式範例建立項目。下面我將給大家介紹這一過程的操作步驟。

  建立項目

  按以下步驟建立一個空的項目:

  1. 啟動 Visual Studio .NET,然後單擊 New Project(建立項目)。

  2. 在 Visual C# Projects(Visual C# 項目)檔案夾中單擊 Windows Application(Windows 應用程式),鍵入新項目的名稱(最好為 DirectShow),然後單擊 OK(確定)。

  Visual C# 使用預設的 Windows 表單“Form1”建立一個新的項目。

  3. 這個名稱並沒有特別的意義或用處,所以請在 Properties(屬性)視窗中將表單名稱更改為 frmPlayMedia,將表單文本更改為“媒體播放器”。

  在項目中添加對 DirectShow的引用

  按照以下步驟在項目中添加一個對 DirectShow的引用:

  1. 開啟 Visual Studio 工具箱,然後單擊 Components(組件)顯示該面板。

  2. 右擊面板,然後單擊 Customize Toolbox(自訂工具箱),顯示對話方塊。

  3. 在 COM Components(COM 組件)選項卡上,選中 Interop.QuartzTypeLib.dll。(如果 Interop.QuartzTypeLib.dll 由於某種原因未列出,則單擊 Browse [瀏覽] 並尋找名為 QuartzTypeLib.dll的檔案。)

  4. 單擊 OK(確定)關閉對話方塊。

要在代碼中使用 DirectShow,您需要添加一行代碼,以引用 DirectShow命名空間。在表單代碼視窗的頂部,將以下代碼添加到所有聲明語句之前:

using QuartzTypeLib;

  using語句必須在所有 Options 語句(本項目中並未使用)之後,並且在所有其他代碼之前。添加該語句後。

c#開發的媒體播放器

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.