WindowsMediaPlayerSDK

Windows Media Player SDK,即Windows Media Player 軟體開發工具包。Microsoft Windows Media Player為數字音頻和視頻提供了出色的播放效果,但您的業務可能需要顯示更多信息,或者需要修改視頻或音頻內容的播放方式。使用 Windows Media Player 軟體開發工具包 (SDK)(代號為“Corona”),您可以擴展獨立Player 的功能,並將播放功能嵌入到自己的應用程式中。

基本介紹

  • 中文名軟體開發工具包
  • 外文名:WindowsMediaPlayerSDK
  • 縮寫:SDK
  • 呈現外掛程式:可以編寫一個自定義播放應用程式
摘要,簡介,本文包括以下主題,創建 Player 應用程式,創建外觀,創建外掛程式,可視化效果外掛程式,用戶界面外掛程式,DSP 外掛程式,呈現外掛程式,

摘要

了解如何更改 Windows Media Player 的外觀和行為,如何將其嵌入基於 Web 或基於 Windows 的應用程式,以及如何使用外掛程式對象擴展其功能。本文介紹了 Windows Media Player 軟體開發工具包 (SDK) 並描述了這些功能的用法。

簡介

本文對 SDK 進行了高級概述,涉及如下所述的三個主要功能;本文適用於決策者以及初次接觸數字媒體編程的程式設計師。
可以將 Player 嵌入 Web 應用程式或基於 Microsoft Windows 的應用程式中。Windows Media Player 具有模組化體系結構,使您可以只使用所需的部分。尤其是,用戶界面與音頻和視頻內容的播放功能相互獨立。您可以使用其播放功能,並可決定在應用程式中是使用 Player 的現有用戶界面,還是創建自己的用戶界面。
Windows Media Player 提供了外觀功能,您可以使用該功能創建個性化的 Player 外觀,也可以基於 Player 創建截然不同的功能。
還可以創建外掛程式來擴展 Player 的主要功能,方法是向用戶界面添加新的互動式控制項,在 Player 呈現音頻或視頻數據前對其進行修改,然後在 Windows Media 檔案中呈現非標準數據流。

本文包括以下主題

1、創建 Player 應用程式。介紹如何在 Web 或基於 Windows 的應用程式中嵌入 Windows Media Player 功能。
2、創建外觀。介紹外觀功能:更改 Windows Media Player 的外觀和行為。
3、創建外掛程式。介紹修改 Windows Media Player 外觀和行為的外掛程式。其中包括呈現專有內容、修改音頻或視頻播放以及通過互動式控制項提供全新的功能。

創建 Player 應用程式

Windows Media Player 包括用於呈現視頻和音頻的 Microsoft ActiveX 控制項。該控制項可在任何運行 Windows Media Player 的計算機上獲得。Windows Media Player 是一種獨立的技術,此外,它還包括一個 ActiveX 控制項形式的組件對象模型 (COM) 伺服器(Player 與 ActiveX 控制項之間的關係相當於 Microsoft Internet Explorer 與其所提供的 WebBrowser ActiveX 控制項之間的關係)。
有兩種方法可用於創建使用 Windows Media Player ActiveX 控制項的應用程式。您可以在 Web 應用程式中使用該控制項,也可以在基於 Windows 的應用程式中使用它。
要在 Web 應用程式中使用 Windows Media Player,應在頁面的超文本標記語言 (HTML) 中包含一個 OBJECT 元素。並在 OBJECT 元素中包含嵌套的 PARAM 元素,以指定 Windows Media Player ActiveX 控制項是否可見、包含哪些操作按鈕以及該控制項的其他屬性。通過包含多個 OBJECT 元素,可在一個 Web 頁面中包含多個控制項。要完全控制嵌入的 Player,可以在頁面的 HTML 中編寫腳本代碼。
要在基於 Windows 的應用程式中使用 Windows Media Player,可以包含一個對服務於該控制項的動態程式庫 (DLL) 的引用。例如,在 Microsoft Visual Basic 中,使用 Components(組件)對話框設定一個對“Windows Media Player”(這是 Wmp.dll 檔案中庫的助記名稱)的引用。
如何設定控制項屬性取決於所用的編程環境。例如,在 Visual Basic 中,使用自定義 Properties(屬性)對話框在設計時設定屬性。也可以通過編寫代碼設定或讀取屬性以及在運行時調用方法。
最終用戶可在任何安裝了 Windows Media Player 的基於 Windows 的計算機上運行該應用程式。他們可以通過已經熟悉(或由您創建)的用戶界面收聽音頻或觀看視頻。
企業程式設計師可以簡單地使用 Player 提供的播放功能,並將精力集中在應用程式的特定業務需要上。

創建外觀

您可以使用 Windows Media Player 中的外觀技術更改 Player 的外觀,同時保持它的標準行為。Player 包含的外觀便是該功能的體現。儘管這些外觀使 Player 看起來迥然不同,但它們卻都保留了 Play(播放)和 Pause(暫停)按鈕、顯示播放列表、返回到完整模式等基本功能。
您還可以使用外觀技術創建一個外觀和行為與標準 Player 相差很大的應用程式。您可以隨意在外觀中添加各種各樣的控制項,使其執行自定義操作。要定義自定義操作,可以編寫 JScript 代碼;您無需精通 Microsoft Visual C++ 或 Visual Basic 即可將外觀技術用作編程平台。
您可以將外觀定義檔案圖像檔案和任何 Jscript 檔案壓縮檔案擴展名為 .wmz 的單個檔案中。這是將外觀提供給最終用戶的標準方法。
您還可以創建稱作框線的特殊外觀,它顯示在完整模式下的 Windows Media Player 的 Now Playing(正在播放)功能中。您可以將框線、播放列表檔案和數字媒體檔案壓縮到檔案擴展名為 .wmd 的單個可下載檔案中。當最終用戶單擊 .wmd 檔案的連結時,Windows Media Player 將對包含的所有檔案進行解壓縮,將框線套用到 Now Playing(正在播放)功能,然後開始播放在播放列表檔案中指定的內容。
這種可下載檔案功能尤其適用於向最終用戶提供出色的娛樂或教育內容。它不要求最終用戶進行任何安裝,同時允許您進行廣泛的自定義。

創建外掛程式

Windows Media Player SDK 包含支持廣泛擴展性的接口。要擴展 Player 的基本功能,可以編寫藉助於 DLL 檔案的 COM 對象。
SDK 包含一個可創建示例外掛程式項目的 Visual C++ 嚮導。該項目包含編譯和註冊外掛程式所需的代碼和一個示例實現。運行嚮導後,您便可以將編程工作的重點放在實現外掛程式所需的特定代碼上。
利用外掛程式提供的擴展性,您可以將 Windows Media Player 用作提供和運算元字媒體內容的平台。外掛程式有幾種不同的類型,將在以下主題中進行討論。

可視化效果外掛程式

當 Player 處於完整模式或外觀模式(取決於外觀)時,可視化效果外掛程式可在只播放音頻內容時,向 Player 的 Now Playing(正在播放)功能添加有趣的動態圖像。可視化效果的外觀和動態運動基於正在播放的音樂並與之同步。
將可視化效果作為 COM 對象實現。Player 每秒多次為當前選定的可視化效果引發事件。該事件包含以下數據:
1、TimedLevel 結構,其中包括當前音頻的頻率和音量信息
2、設備上下文句柄,用於指定繪圖面
3、RECT 結構,定義繪圖面的大小
在可視化效果對象中,實現處理此事件的 Render 方法。
可以使用 Windows 圖形設備接口 (GDI) 功能、Microsoft Direct3D 或 DirectDraw 功能等技術對圖形進行可視化編程
在調用那些利用設備上下文的 GDI 函式時,Windows Media Player 外掛程式嚮導生成的示例實現使用音頻和音量數據(位於 TimedLevel 結構中)。可以修改或替換該實現,以生成所需的可視化效果。
該嚮導可以編寫用於編譯自行註冊的 COM DLL 的全部代碼。要看到可視化效果,只需編譯項目,然後運行 Windows Media Player 並選擇新的可視化效果即可。

用戶界面外掛程式

Windows Media Player 為最終用戶提供了各種信息和功能。但是,您可能需要提供自定義互動或自定義數據。使用用戶界面外掛程式可完成此項工作。
Windows Media Player 的完整模式由許多區域組成,如 Now Playing(正在播放)功能和播放列表窗格。某些區域在默認狀態下不可見,但最終用戶可將其顯示為可見。這些區域包括顯示在 Now Playing(正在播放)功能底部的設定區域,以及顯示在播放列表上方的元數據區域。
用戶界面外掛程式分五種類型。其中三種類型顯示在 Player 的不同區域中。在每個區域中,每次只能啟用一個外掛程式。
1、顯示外掛程式。這些外掛程式占據 Now Playing(正在播放)功能中的可視化效果顯示區域。由於該區域通常很大,因此比較適合顯示大量數據或複雜的互動控制項集。
2、設定外掛程式。這些外掛程式位於 Now Playing(正在播放)功能中可視化效果顯示區域的下面。該區域包含圖形均衡器、視頻設定和其他用於配置播放或 Windows Media Player 外觀的控制項。設定外掛程式比較適合添加相似的自定義功能,並使最終用戶能夠配置 Player 的外觀或行為。
3、元數據外掛程式。這些外掛程式位於播放列表上方的一個小區域。它們比較適合顯示曲目、唱片集或播放列表的確切信息,同時也適用於簡單控制項或超連結。例如,Windows Media Player 包含一個元數據外掛程式,它顯示的封面圖形是一個指向有關當前播放的唱片集和音樂家的更多信息的連結。
有兩類用戶界面外掛程式在 Windows Media Player 視窗中不顯示。
1、視窗外掛程式。這些外掛程式占用一個單獨的視窗。它們比較適合顯示信息或向最終用戶提供從 Now Playing(正在播放)功能切換到其他功能或載入其他外掛程式時始終存在的互動操作。
2、背景外掛程式。這些外掛程式沒有圖形界面(除非像對待任何外掛程式那樣,為它們提供屬性頁)。它們比較適合不要求最終用戶進行輸入的自動服務。
Windows Media Player 外掛程式嚮導可以為每種類型的用戶界面外掛程式創建示例實現。您可以修改實現細節,以提供所需功能,編譯項目,然後使用 Player 測試外掛程式。該嚮導包括編譯自行註冊的 COM DLL 所需的所有代碼,因而您可以在編碼時將重點放在特殊需要上。

DSP 外掛程式

數位訊號處理 (DSP) 外掛程式在播放過程中修改數字媒體流。使用 DSP 外掛程式,可以將彩色視頻更改為黑白視頻,或使用反色使圖像看起來像底片。還可在音頻中添加顫音或回聲效果。外掛程式在處理數字媒體內容時將改變該內容的播放。DSP 外掛程式與可視化效果外掛程式不同,後者接收種子值形式的數字音頻數據以生成視覺輸出,但並不影響音頻播放本身。
除 Windows Media Player SDK 之外,編寫 DSP 外掛程式還需要 Microsoft DirectX SDK。這些外掛程式有一個明顯特徵,即實現由 DirectX SDK 提供的 IMediaObject 接口。
當 DSP 外掛程式安裝在最終用戶的計算機上並被激活時,Windows Media Player 在數據呈現之前將音頻和視頻數據傳遞給該外掛程式。Player 分配輸入緩衝區和輸出緩衝區,並使外掛程式能夠對這兩個緩衝區進行訪問。必須實現 IMediaObject 接口的各種方法,以便從輸入緩衝區讀取數據,以適用於外掛程式的任何方式對數據進行處理,然後將修改後的數據寫入輸出緩衝區。Windows Media Player 將呈現從輸出緩衝區獲取的數據。
可以運行 Windows Media Player 外掛程式嚮導創建 DSP 外掛程式的示例實現。該示例實現 IMediaObject 接口,並實現一個稱為 DoProcessOutput 的實用程式函式。很多情況下,只需使用 DSP 外掛程式的特有代碼修改此實用程式,並利用嚮導提供的所有其他代碼。

呈現外掛程式

使用 Windows Media Format SDK,可以向 Windows Media 檔案中添加任何數據流。此數據流的格式不受限制,包括 Windows Media Player 默認情況下無法識別的格式。
有兩種方法可用來呈現包含此類數據流的 Windows Media 檔案。
1、可以編寫一個自定義播放應用程式。這種情況下,除了包含用於呈現您的特有內容的代碼之外,還必須包含用於提供標準音頻、視頻和腳本流的代碼以及用於顯示用戶界面的代碼。
2、也可以為 Windows Media Player 編寫一個呈現外掛程式。這種情況下,仍須編寫用於呈現您的特有內容的代碼,但是可以利用 Player 的固有功能來呈現支持的流並提供最終用戶已有所了解的用戶界面。
Windows Media Player 外掛程式嚮導可以創建用於呈現外掛程式的示例實現。該示例可實現呈現外掛程式所需的許多接口,還可以實現一個稱為 DoRendering 的實用程式函式。只需使用用於呈現特有流的代碼修改此實用程式,並利用嚮導提供的所有其他代碼。

相關詞條

熱門詞條

聯絡我們