【筆記】使用WMP控件寫一個簡單播放器


c#沒有提供用於播放音頻的類可以直接使用,需要播放音樂或視頻文件時候,我們可以使用第三方多媒體庫或是第三方控件輔助播放,找來找去還是覺得用Windows Media Player控件來編寫比較方便,下面說一下用法

在VS工具欄中,默認情況下是找不到Windows Media Player 控件的,使用windows media player 控件需要使用到兩個庫

AxInterop.WMPLib.dll  和  Interop.WMPLib.dll

最開始這兩個庫找了好久,有時候會發現版本不匹配不能用,后來發現,直接在工具欄添加控件,拖到窗口中,就會自動把這兩個庫復制到Debug文件夾中

從這里開始吧

1、在工具欄中,右鍵-選擇項,選擇COM組建,然后把Windows Media Player打鈎,這樣就添加進來了,然后拖到Form窗體中

2、這個Windows Media Player控件有點丑,我們可以刪掉,在后台代碼中創建,我們只是要使用這個控件來播放而已。下面是屬性

  播放,暫停,停止操作

        this.axWindowsMediaPlayer1.URL = @"G:\Music\some one like you.mp3";
        this.axWindowsMediaPlayer1.Ctlcontrols.play();
        this.axWindowsMediaPlayer1.Ctlcontrols.pause();
        this.axWindowsMediaPlayer1.Ctlcontrols.stop();

  詳細屬性:

    [基本屬性]  
    URL:String; 指定媒體位置,本機或網絡地址
    uiMode:String; 播放器界面模式,可為Full, Mini, None, Invisible
    playState:integer; 播放狀態,1=停止,2=暫停,3=播放,6=正在緩沖,9=正在連接,10=准備就緒
    enableContextMenu:Boolean; 啟用/禁用右鍵菜單
    fullScreen:boolean; 是否全屏顯示    

    //播放器基本控制
    Ctlcontrols.play; 播放
    Ctlcontrols.pause; 暫停
    Ctlcontrols.stop; 停止
    Ctlcontrols.currentPosition:double; 當前進度
    Ctlcontrols.currentPositionString:string; 當前進度,字符串格式。如“00:23”
    Ctlcontrols.fastForward; 快進
    Ctlcontrols.fastReverse; 快退
    Ctlcontrols.next; 下一曲
    Ctlcontrols.previous; 上一曲
    Ctlcontrols.PlayCount        文件播放次數
    Ctlcontrols.AutoRewind       是否循環播放
    Ctlcontrols.Balance         聲道
    Ctlcontrols.Volume         音量
    Ctlcontrols.Mute          靜音
    Ctlcontrols.EnableContextMenu    是否允許在控件上點擊鼠標右鍵時彈出快捷菜單
    Ctlcontrols.AnimationAtStart    是否在播放前先播放動畫
    Ctlcontrols.ShowControls      是否顯示控件工具欄
    Ctlcontrols.ShowAudioControls    是否顯示聲音控制按鈕
    Ctlcontrols.ShowDisplay       是否顯示數據文件的相關信息
    Ctlcontrols.ShowGotoBar       是否顯示Goto欄
    Ctlcontrols.ShowPositionControls  是否顯示位置調節按鈕
    Ctlcontrols.ShowStatusBar      是否顯示狀態欄
    Ctlcontrols.ShowTracker       是否顯示進度條
    Ctlcontrols.Rate          快進/快退速率

    //播放器基本設置
    settings.volume:integer; 音量,0-100
    settings.autoStart:Boolean; 是否自動播放
    settings.mute:Boolean; 是否靜音
    settings.playCount:integer; 播放次數    

    //當前媒體屬性
    currentMedia.sourceURL; 獲取正在播放的媒體文件的路徑
    currentMedia.name; 獲取正在播放的媒體文件的名稱     

    currentMedia.duration:double; 媒體總長度
    currentMedia.durationString:string; 媒體總長度,字符串格式。如“03:24”
    currentMedia.getItemInfo(const string);
        獲取當前媒體信息"Title"=媒體標題,"Author"=藝術家,"Copyright"=版權信息,"Description"=媒體內容描述, "Duration"=持續時間(秒),"FileSize"=文件大         小,"FileType"=文件類型,"sourceURL"=原始地址
    currentMedia.setItemInfo(const string); 通過屬性名設置媒體信息
    currentMedia.name:string; 同 currentMedia.getItemInfo("Title")

    //當前播放列表屬性
    currentPlaylist.count:integer; 當前播放列表所包含媒體數
    currentPlaylist.Item[integer]; 獲取或設置指定項目媒體信息,其子屬性同wmp.currentMedia

 

    取得一個Media對象

    string filePath = "G:\Music\不知不覺-小賤.mp3";
    WMPLib.IWMPMedia media = axWindowsMediaPlayer1.newMedia(filePath);

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM