基於MFC的Media Player播放器的製做(3---功能實現)

|   版權聲明:本文爲博主原創文章,未經博主容許不得轉載。函數

 

下面咱們試試一下,按下退出Button退出播放器的功能:this

  首先,咱們雙擊退出Button按鈕,就會彈出下圖的框:spa

     

  上面的弄好以後咱們就實現退出函數的功能: 這個代碼寫好以後,咱們能夠運行一下,在單擊退出按鈕,能夠發現,按下以後我3d

們的播放器自動退出code

 

  下面咱們在實現打開文件的功能,這個功能比較複雜,第一步咱們首先雙擊打開文件按鈕,在CPandaPlayerDlg.cpp中建立函對象

數OnOpenfile();建立過程同上。blog

      

  能夠看到函數;而後在函數內添加實現方法圖片

 實現代碼:資源

在這個函數中有幾個變量是全局變量要定義it

 

在這些所有弄好以後,咱們就可運行程序了;以下圖所示:

 

  下面在介紹一個關於播放的函數實現;這個實現要創建文件關聯,由於在前面我介紹了play()函數是在CWMPControls類

中,所以要使用play()函數和CWMPControls類中的一些其餘的函數,咱們就要創建文件關聯。

第一步:建立函數;方法同上

第二步:創建文件關聯

    1>  首先咱們找到CWMPControls類的頭文件wmpcontrols.h,在CPandaPlayerDlg.h中添加

#include "wmpcontrols.h"

    2>  將頭文件添加好了以後,咱們在CPandaPlayerDlg.h的CPandaPlayerDlg類中建立CWMPControls的變量爲:

CWMPControls m_MediaControl;

    3>  建立好變量以後,咱們在CPandaPlayerDlg.cpp文件中找到函數OnInitDialog(),在OnInitDialog()函數中建立文件

關聯;

  m_MediaControl=static_cast<CWMPControls>(m_ActiveMovie.GetControls());//文件關聯

    4>  文件關聯所有弄好以後咱們就能夠,實現OnPlay()函數中的代碼了;

 

實現了上面的全部步驟以後,咱們運行就能夠看到效果了;

 

 

由於在CWMPControls類中存在着,pause()和stop()函數,咱們可使用這兩個函數實現暫停和播放

以下函數中實現代碼:

代碼實現:

 運行效果:

 

  上面是關於播放的一些函數,下面在介紹一下音量的控制,音量控制和播放同樣,要創建文件關聯,由於音量的控制在

CWMPSettings類中,咱們同上的步驟同樣創建類的關聯,如圖:

 下面在實現相應的功能:

 實現代碼:

 

 運行效果:

介紹到這裏爲止:

 

注意:

  1.   若是要引入除開CWMPPlayer4類的其餘的類庫中的函數則必須創建文件關聯,方法同上,文件關聯在CWMPPlayer4

類中均有對應的實例化函數。在前面的《基於MFC的Media Player播放器控件的屬性和方法》中已經所有介紹。根據本身的需

求去弄。可是在CWMPPlayer4中的方法則能夠直接引用,經過創建的CWMPPlayer4 對象m_ActiveMovie直接調用就行。

 

  2.  若是是追求完美的能夠經過將界面的背景添加背景圖片,方法以下(實現對話框裏添加位圖做爲背景圖):

  首先工程文件夾下找到res文件夾,在裏面增長BMP格式位圖資源,以後在對話框裏添加一個小圖片,而後在對話框裏添加

此圖片控件,修改類型屬性,選擇位圖ID便可添加圖片了,最後在 CLotteryDlg::OnPaint()裏的else以後括號裏添加以下代碼

就行:

 1 // CDialog::OnPaint();  設置對話框位圖時要禁止調用此對話框  * 
 2  //  如下設置對話框的背景位圖  
 3     CPaintDC dc(this); 
 4         CBitmap   bitmap; 
 5         bitmap.LoadBitmap(IDB_BITMAP1);    //這個IDB_BITMAP1要本身添加 
 6         CBrush   brush; 
 7         brush.CreatePatternBrush(&bitmap); 
 8         CBrush*   pOldBrush   =   dc.SelectObject(&brush); 
 9         dc.Rectangle(0,0,730,430);   // 這些參數能夠調整圖片添加位置和大小 
10         dc.SelectObject(pOldBrush);
11     CDialog::OnPaint();

這裏我沒有實現背景,效果圖就沒有了,追求完美的能夠試試。

附上我寫好的運行截圖:

相關文章
相關標籤/搜索