自己做的FFPLAY移植到VC下的开源工程:ffplay for MFC。
本工程将ffmpeg项目中的ffplay播放器(ffplay.c)移植到了VC的环境下。并且使用MFC做了一套简单的界面。它可以完成一个播放器播放视频的基本流程:解协议,解封装,视频/音频解码,视音频同步,视音频输出。此外还包含一些控制功能:播放,暂停/继续,前进,后退,停止,逐帧播放,全屏等功能。通过本程序可以学习视频播放器原理,以及SDL和Windows消息机制等。代码中包含了比较详细的注释。
1.1版(2014.7.10)
* 更换了部分界面
* 原工程支持Unicode编码
* 修复了Release下的Bug
* 添加了两个宏定义"INT64_MIN INT64_MAX",在没有安装 Win7SDK的情况下,可能会出现找不到定义的情况。
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-08-16 01:04 ffplaymfc
文件 44 2014-06-05 19:14 ffplaymfc.gitignore
文件 165 2014-07-10 22:45 ffplaymfcChangeLog
目录 0 2014-08-16 01:04 ffplaymfcffplaymfc
文件 894 2014-05-10 11:37 ffplaymfcffplaymfc.sln
文件 39936 2014-08-16 01:03 ffplaymfcffplaymfc.suo
文件 27 2014-06-05 19:14 ffplaymfcffplaymfc.gitignore
文件 1956 2014-05-29 11:24 ffplaymfcffplaymfcAudiodecodeDlg.cpp
文件 931 2014-05-29 11:26 ffplaymfcffplaymfcAudiodecodeDlg.h
文件 18936320 2014-05-06 10:08 ffplaymfcffplaymfcavcodec-55.dll
文件 1340928 2014-05-06 10:08 ffplaymfcffplaymfcavdevice-55.dll
文件 2034688 2014-05-06 10:08 ffplaymfcffplaymfcavfilter-4.dll
文件 5342720 2014-05-06 10:08 ffplaymfcffplaymfcavformat-55.dll
文件 418304 2014-05-06 10:08 ffplaymfcffplaymfcavutil-52.dll
文件 54932 2014-05-18 01:36 ffplaymfcffplaymfccmdutils.cpp
文件 15961 2014-05-16 17:37 ffplaymfcffplaymfccmdutils.h
文件 2096 2012-10-15 21:42 ffplaymfcffplaymfccmdutils_common_opts.h
文件 26501 2012-10-15 21:34 ffplaymfcffplaymfcconfig.h
文件 115348 2014-07-05 11:54 ffplaymfcffplaymfcffplaycore.cpp
文件 2718 2014-08-16 01:02 ffplaymfcffplaymfcffplaycore.h
文件 522332 2014-08-16 00:56 ffplaymfcffplaymfcffplaymfc.aps
文件 3362 2014-07-04 22:28 ffplaymfcffplaymfcffplaymfc.cpp
文件 888 2014-05-29 11:26 ffplaymfcffplaymfcffplaymfc.h
文件 59694 2014-08-16 00:56 ffplaymfcffplaymfcffplaymfc.rc
文件 7238 2014-07-10 22:39 ffplaymfcffplaymfcffplaymfc.vcxproj
文件 3318 2014-05-26 21:18 ffplaymfcffplaymfcffplaymfc.vcxproj.filters
文件 143 2014-05-10 11:37 ffplaymfcffplaymfcffplaymfc.vcxproj.user
文件 15797 2014-07-14 23:02 ffplaymfcffplaymfcffplaymfcDlg.cpp
文件 2981 2014-05-29 12:14 ffplaymfcffplaymfcffplaymfcDlg.h
目录 0 2014-08-16 01:03 ffplaymfcffplaymfcinclude
目录 0 2014-08-16 01:03 ffplaymfcffplaymfcincludecompat
............此处省略206个文件信息
/*
* FFplay for MFC
*
* 雷霄骅 Lei Xiaohua
* leixiaohua1020@126.com
* 中国传媒大学/数字电视技术
* Communication University of China / Digital TV Technology
*
* http://blog.csdn.net/leixiaohua1020
*
* 本工程将ffmpeg项目中的ffplay播放器(ffplay.c)移植到了VC的环境下。
* 并且使用MFC做了一套简单的界面。
* This software transplant ffplay to Microsoft VC++ environment.
* And use MFC to build a simple Graphical User Interface.
*/
#include “stdafx.h“
#include “ffplaymfc.h“
#include “AudiodecodeDlg.h“
#include “afxdialogex.h“
// AudiodecodeDlg 对话框
IMPLEMENT_DYNAMIC(AudiodecodeDlg CDialogEx)
AudiodecodeDlg::AudiodecodeDlg(CWnd* pParent /*=NULL*/)
: CDialogEx(AudiodecodeDlg::IDD pParent)
{
}
AudiodecodeDlg::~AudiodecodeDlg()
{
}
void AudiodecodeDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogEx::DoDataExchange(pDX);
DDX_Control(pDX IDC_AUDIODECODE_LIST m_audiodecodelist);
}
BEGIN_MESSAGE_MAP(AudiodecodeDlg CDialogEx)
END_MESSAGE_MAP()
BOOL AudiodecodeDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
//整行选择;有表格线;表头;单击激活
DWORD dwExstyle=LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP|LVS_EX_ONECLICKACTIVATE;
//多国语言支持
CString resloader;
resloader.LoadString(IDS_AUDIODECODE);
SetWindowText(resloader);
m_audiodecodelist.Modifystyle(0LVS_SINGLESEL|LVS_REPORT|LVS_SHOWSELALWAYS);
m_audiodecodelist.SetExtendedstyle(dwExstyle);
resloader.LoadString(IDS_AUDIODECODE_NUM);
m_audiodecodelist.InsertColumn(0resloaderLVCFMT_CENTER500);
resloader.LoadString(IDS_AUDIODECODE_SIZE);
m_audiodecodelist.InsertColumn(1resloaderLVCFMT_CENTER500);
resloader.LoadString(IDS_AUDIODECODE_PTS);
m_audiodecodelist.InsertColumn(2resloaderLVCFMT_CENTER500);
resloader.LoadString(IDS_AUDIODECODE_DTS);
m_audiodecodelist.InsertColumn(3resloaderLVCFMT_CENTER500);
return TRUE;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-08-16 01:04 ffplaymfc
文件 44 2014-06-05 19:14 ffplaymfc.gitignore
文件 165 2014-07-10 22:45 ffplaymfcChangeLog
目录 0 2014-08-16 01:04 ffplaymfcffplaymfc
文件 894 2014-05-10 11:37 ffplaymfcffplaymfc.sln
文件 39936 2014-08-16 01:03 ffplaymfcffplaymfc.suo
文件 27 2014-06-05 19:14 ffplaymfcffplaymfc.gitignore
文件 1956 2014-05-29 11:24 ffplaymfcffplaymfcAudiodecodeDlg.cpp
文件 931 2014-05-29 11:26 ffplaymfcffplaymfcAudiodecodeDlg.h
文件 18936320 2014-05-06 10:08 ffplaymfcffplaymfcavcodec-55.dll
文件 1340928 2014-05-06 10:08 ffplaymfcffplaymfcavdevice-55.dll
文件 2034688 2014-05-06 10:08 ffplaymfcffplaymfcavfilter-4.dll
文件 5342720 2014-05-06 10:08 ffplaymfcffplaymfcavformat-55.dll
文件 418304 2014-05-06 10:08 ffplaymfcffplaymfcavutil-52.dll
文件 54932 2014-05-18 01:36 ffplaymfcffplaymfccmdutils.cpp
文件 15961 2014-05-16 17:37 ffplaymfcffplaymfccmdutils.h
文件 2096 2012-10-15 21:42 ffplaymfcffplaymfccmdutils_common_opts.h
文件 26501 2012-10-15 21:34 ffplaymfcffplaymfcconfig.h
文件 115348 2014-07-05 11:54 ffplaymfcffplaymfcffplaycore.cpp
文件 2718 2014-08-16 01:02 ffplaymfcffplaymfcffplaycore.h
文件 522332 2014-08-16 00:56 ffplaymfcffplaymfcffplaymfc.aps
文件 3362 2014-07-04 22:28 ffplaymfcffplaymfcffplaymfc.cpp
文件 888 2014-05-29 11:26 ffplaymfcffplaymfcffplaymfc.h
文件 59694 2014-08-16 00:56 ffplaymfcffplaymfcffplaymfc.rc
文件 7238 2014-07-10 22:39 ffplaymfcffplaymfcffplaymfc.vcxproj
文件 3318 2014-05-26 21:18 ffplaymfcffplaymfcffplaymfc.vcxproj.filters
文件 143 2014-05-10 11:37 ffplaymfcffplaymfcffplaymfc.vcxproj.user
文件 15797 2014-07-14 23:02 ffplaymfcffplaymfcffplaymfcDlg.cpp
文件 2981 2014-05-29 12:14 ffplaymfcffplaymfcffplaymfcDlg.h
目录 0 2014-08-16 01:03 ffplaymfcffplaymfcinclude
目录 0 2014-08-16 01:03 ffplaymfcffplaymfcincludecompat
............此处省略206个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)