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

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

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

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

们的播放器自动退出

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

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

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

实现代码:

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

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

  下面在介绍一个关于播放的函数实现;这个实现要建立文件关联,因为在前面我介绍了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之后括号里添加如下代码

就行:

 // CDialog::OnPaint();  设置对话框位图时要禁止调用此对话框  *
// 以下设置对话框的背景位图
CPaintDC dc(this);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1); //这个IDB_BITMAP1要自己添加
CBrush brush;
brush.CreatePatternBrush(&bitmap);
CBrush* pOldBrush = dc.SelectObject(&brush);
dc.Rectangle(,,,); // 这些参数可以调整图片添加位置和大小
dc.SelectObject(pOldBrush);
CDialog::OnPaint();

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

附上我写好的运行截图:

基于MFC的Media Player播放器的制作(3---功能实现)的更多相关文章

  1. 基于MFC的Media Player播放器的制作介绍

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 因为这次多媒体课程设计做一个基于MFC的播放器,因为本人实力太菜,需要播放音乐或视频文件时候,自己写不出解码 函数,所以准备使用第三方多媒 ...

  2. 基于MFC的Media Player播放器的制作(1---播放器界面的布局)

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 通过上面的一些预备知识,我们现在就可以自己来制作基于MFC的播放器了,接下来我们讲的是使用MFC制作我们播放器 的界面. 首先,我们我们打 ...

  3. 基于MFC的Media Player播放器的制作(2---导入第三方库和介绍第三方库)

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 这一节我们介绍如何导入类库,和介绍类库的一功能和介绍MFC的一些主要的模块部分.下面是如何导入类库.第一步我们选中 Media Playe ...

  4. 基于MFC的Media Player播放器的制作(4---功能实现代码)

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. PandaPlayerDlg.h // PandaPlayerDlg.h : header file // //{{AFX_INCLUDE ...

  5. 基于MFC的Media Player播放器的控件方法和属性介绍

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 因为使用第三方多媒体库或是第三方控件(Media Player)辅助播放,我们则必须要了解到Media Player控件的一些属性 和方法 ...

  6. 基于MFC的Media Player播放器制作的SetTimer函数介绍

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. SetTimer是一种API函数,位于user32.dll中.你想每隔一段时间执行一件事的的时候,你可以使用它. 使用定时器的方法比 较简 ...

  7. winform中的Windows Media Player播放器设置

    namespace WindowsMediaPlayer{ public partial class Form1 : Form { Form2 form2;//声明from2窗体 public For ...

  8. 最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...

  9. 基于jQuery仿QQ音乐播放器网页版代码

    基于jQuery仿QQ音乐播放器网页版代码是一款黑色样式风格的网页QQ音乐播放器样式代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="m ...

随机推荐

  1. 实验报告(六)&第八周学习总结

    班级 计科二班 学号 20188425 姓名 IM 完成时间2019/10/18 评分等级 实验六 Java异常 实验目的 理解异常的基本概念: 掌握异常处理方法及熟悉常见异常的捕获方法. 实验要求 ...

  2. java虚拟机规范(se8)——class文件格式(六)

    4.7.4 StackMapTable 属性 StackMapTable 属性是一个变长属性,位于 Code(§4.7.3)属性的属性表中.这个属性会在虚拟机类加载的类型阶段(§4.10.1)被使用. ...

  3. mongedb主从

    1.mongodb安装 1.将mongodb上传到linux系统 1.解压 tar -zxvf mongodb-linux-x86_64- -C /usr/local/ 这里默认安装到usr/loca ...

  4. SQL数据库—<10>--查询练习题

    待整理···· 45题.分页查询 学生选课数据库SQL语句练习题(45个题) 练习题网盘地址:点我 create database xxb go use xxb go --表(一)Student (学 ...

  5. html中插入css的4种方法

    #1:链入外部样式表 <head> <link href="mystyle.css" rel="stylesheet" type=" ...

  6. Linux 核心编译与管理

    一般情况下,不需要重新编译核心,除非以下特有的用途 [root@localhost ~]# wget ftp://ftp.twaren.net/pub/Unix/Kernel/linux/kernel ...

  7. go语言从例子开始之Example27.超时处理

    超时 对于一个连接外部资源,或者其它一些需要花费执行时间的操作的程序而言是很重要的.得益于通道和 select,在 Go中实现超时操作是简洁而优雅的. Example: package main im ...

  8. Goldengate 应用环境 mysql to oracle

    前言 一个需求,mysql的某些表,实时同步至oracle,于是就产生了这篇文章,安装过程中,走了些弯路,原因是没太深刻理解,官方提供安装步骤所代表的意义. 环境 源端:mysql-server 5. ...

  9. mocha.js

    mocha 如果你听说过“测试驱动开发”(TDD:Test-Driven Development),单元测试就不陌生. 单元测试是用来对一个模块.一个函数或者一个类来进行正确性检验的测试工作. 比如对 ...

  10. SSD算法的实现

    本文目的:介绍一个超赞的项目--用Keras来实现SSD算法. 本文目录: 0 前言 1 如何训练SSD模型 2 如何评估SSD模型 3 如何微调SSD模型 4 其他注意点 0 前言 我在学习完SSD ...