基于MFC的Media Player播放器的制作(3---功能实现)

时间:2024-03-24 17:40:09

|   版权声明:本文为博主原创文章,未经博主允许不得转载。

 

下面我们试试一下,按下退出Button退出播放器的功能:

  首先,我们双击退出Button按钮,就会弹出下图的框:

     基于MFC的Media Player播放器的制作(3---功能实现)

  上面的弄好之后我们就实现退出函数的功能: 这个代码写好之后,我们可以运行一下,在单击退出按钮,可以发现,按下之后我

们的播放器自动退出

基于MFC的Media Player播放器的制作(3---功能实现)

 

  下面我们在实现打开文件的功能,这个功能比较复杂,第一步我们首先双击打开文件按钮,在CPandaPlayerDlg.cpp中创建函

数OnOpenfile();创建过程同上。

      基于MFC的Media Player播放器的制作(3---功能实现)

  可以看到函数;然后在函数内添加实现方法

基于MFC的Media Player播放器的制作(3---功能实现)

 实现代码:

基于MFC的Media Player播放器的制作(3---功能实现)

在这个函数中有几个变量是全局变量要定义

基于MFC的Media Player播放器的制作(3---功能实现)

 

在这些全部弄好之后,我们就可运行程序了;如下图所示:

基于MFC的Media Player播放器的制作(3---功能实现)

 

  下面在介绍一个关于播放的函数实现;这个实现要建立文件关联,因为在前面我介绍了play()函数是在CWMPControls类

中,因此要使用play()函数和CWMPControls类中的一些其他的函数,我们就要建立文件关联。

第一步:创建函数;方法同上

基于MFC的Media Player播放器的制作(3---功能实现)

第二步:建立文件关联

    1>  首先我们找到CWMPControls类的头文件wmpcontrols.h,在CPandaPlayerDlg.h中添加

#include "wmpcontrols.h"

基于MFC的Media Player播放器的制作(3---功能实现)

    2>  将头文件添加好了之后,我们在CPandaPlayerDlg.h的CPandaPlayerDlg类中创建CWMPControls的变量为:

CWMPControls m_MediaControl;

基于MFC的Media Player播放器的制作(3---功能实现)

    3>  创建好变量之后,我们在CPandaPlayerDlg.cpp文件中找到函数OnInitDialog(),在OnInitDialog()函数中创建文件

关联;

  m_MediaControl=static_cast<CWMPControls>(m_ActiveMovie.GetControls());//文件关联

基于MFC的Media Player播放器的制作(3---功能实现)

    4>  文件关联全部弄好之后我们就可以,实现OnPlay()函数中的代码了;

 基于MFC的Media Player播放器的制作(3---功能实现)

实现了上面的所有步骤之后,我们运行就可以看到效果了;

 基于MFC的Media Player播放器的制作(3---功能实现)

 

因为在CWMPControls类中存在着,pause()和stop()函数,我们可以使用这两个函数实现暂停和播放

如下函数中实现代码:

基于MFC的Media Player播放器的制作(3---功能实现)

代码实现:

基于MFC的Media Player播放器的制作(3---功能实现)

 运行效果:

基于MFC的Media Player播放器的制作(3---功能实现)

 

  上面是关于播放的一些函数,下面在介绍一下音量的控制,音量控制和播放一样,要建立文件关联,因为音量的控制在

CWMPSettings类中,我们同上的步骤一样建立类的关联,如图:

基于MFC的Media Player播放器的制作(3---功能实现)

基于MFC的Media Player播放器的制作(3---功能实现)

基于MFC的Media Player播放器的制作(3---功能实现)

 下面在实现相应的功能:

基于MFC的Media Player播放器的制作(3---功能实现)

 实现代码:

基于MFC的Media Player播放器的制作(3---功能实现)

 

 运行效果:

基于MFC的Media Player播放器的制作(3---功能实现)

介绍到这里为止:

 

注意:

  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();

这里我没有实现背景,效果图就没有了,追求完美的可以试试。

附上我写好的运行截图:

基于MFC的Media Player播放器的制作(3---功能实现)