首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

自製多媒體播放器:基於 DirectShow 與 .NET COM 互操作

     編輯:關於ASP.NET

.NET Framework 內建無多媒體庫,但具強大 COM 互操作能力。利用微軟 DirectShow 技術(整合於 DirectX),可輕鬆實現音視頻播放。

關鍵步驟

  1. 專案引用 Interop.QuartzTypeLib.dll(DirectX COM 互操作組件)。
  2. 使用 FilgraphManager 類別渲染媒體檔案,並透過介面轉型取得播放控制介面:
public void RenderMedia(string mediaFileName) {
    clearUp();
    try {
        objMedia = new FilgraphManager();
        objMedia.RenderFile(mediaFileName);
        volMedia = objMedia as IBasicAudio;
        posMedia = objMedia as IMediaPosition;
        ctlMedia = objMedia as IMediaControl;
        eexMedia = objMedia as IMediaEventEx;
        eexMedia.SetNotifyWindow((int)this.Handle, WM_GRAPHNOTIFY, 0);
        mediaStatus = 1;
        mediaDuration = posMedia.Duration;
        volMedia.Volume = mediaVolum;
        Play();
    } catch {
        MessageBox.Show("載入檔案失敗!");
        clearUp();
    }
}

介面說明

  • IBasicAudio:音量控制。
  • IMediaPosition:進度/時間控制。
  • IMediaControl:播放/暫停/停止。
  • IMediaEventEx:事件通知(如播放完成)。

透過 SetNotifyWindow 將圖形事件導向視窗程序,即可在 WndProc 中處理 WM_GRAPHNOTIFY 實現自動循環、錯誤處理等進階功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved