• 大小: 669KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: C/C++
  • 标签: aviplayer  

资源简介

用MFC写的一个小型播放器,aviplayer,能播放一些主流视频

资源截图

代码片段和文件信息

#include “StdAfx.h“
#include “.\digitalvideo.h“

#include “VideoPlayer.h“

CDigitalvideo::CDigitalvideo(void)
{
m_Open = m_Pause = m_Playing = FALSE;
m_DeviceID = 0;
}

CDigitalvideo::~CDigitalvideo(void)
{
Close ();
}

BOOL CDigitalvideo::GetPause ()
{
return m_Pause;
}
BOOL CDigitalvideo::Open (CString Filename CWnd *pWnd int left int topint widthint height)
{
if (!m_Open){
m_Open = m_Pause = m_Playing = FALSE;
m_DeviceID = 0;
CFileStatus Status;
if (!CFile::GetStatus (Filename Status))
return FALSE;
MCI_DGV_OPEN_PARMS MCIOpen;
MCIOpen.lpstrDeviceType = “avivideo“;
MCIOpen.lpstrElementName = (LPSTR) Filename.GetBuffer (0);
MCIOpen.wDeviceID = NULL;
MCIOpen.hWndParent = pWnd->m_hWnd;
MCIOpen.dwstyle = WS_CHILD | WS_VISIBLE;
if (mciSendCommand (NULL MCI_OPEN MCI_WAIT | MCI_OPEN_TYPE |
MCI_OPEN_ELEMENT | MCI_DGV_OPEN_PARENT | MCI_DGV_OPEN_WS (DWORD)(LPVOID) &MCIOpen))
return FALSE;
m_DeviceID = MCIOpen.wDeviceID;
m_Open = TRUE;
MCI_DGV_SET_PARMS MCISet;
MCISet.dwTimeFormat = MCI_FORMAT_frameS;
if (mciSendCommand (m_DeviceID MCI_SET MCI_SET_TIME_FORMAT (DWORD)(LPVOID) &MCISet)){
Close ();
return FALSE;
}
mciSendCommand (m_DeviceID MCI_SEEK MCI_SEEK_TO_START NULL);
MCI_DGV_PUT_PARMS MCIPut;
MCIPut.rc.left = left;
MCIPut.rc.top  = top;
MCIPut.rc.right = width;
MCIPut.rc.bottom = height;
if (mciSendCommand (m_DeviceID MCI_PUT MCI_WAIT | MCI_DGV_PUT_CLIENT |
MCI_DGV_PUT_WINDOW | MCI_DGV_RECT (DWORD)(LPVOID) &MCIPut)){
Close ();
return FALSE;
}
}
return TRUE;
}
void CDigitalvideo::Close (void)
{
if (m_Open){
if (m_Playing || m_Pause)
mciSendCommand (m_DeviceID MCI_STOP NULL NULL);
mciSendCommand (m_DeviceID MCI_CLOSE NULL NULL);
m_Open = m_Pause = m_Playing = FALSE;
m_DeviceID = NULL;
}
}

int CDigitalvideo::GetWidth (void)
{
if (m_Open){
MCI_DGV_WHERE_PARMS MCIWhere;
if (mciSendCommand (m_DeviceID MCI_WHERE MCI_DGV_WHERE_SOURCE
(DWORD)(LPVOID) &MCIWhere)){
return 0;
}
return (int) MCIWhere.rc.right;
}
return 0;
}

int CDigitalvideo::GetHeight (void)
{
if (m_Open){
MCI_DGV_WHERE_PARMS MCIWhere;
if (mciSendCommand (m_DeviceID MCI_WHERE MCI_DGV_WHERE_SOURCE 
(DWORD)(LPVOID) &MCIWhere)){
return 0;
}
return (int) MCIWhere.rc.bottom;
}
return 0;
}
BOOL CDigitalvideo::Play (BOOL bLoop BOOL bFullScreen)
{
if (m_Open){
if (Getframe () >= Getframes ())
mciSendCommand (m_DeviceID MCI_SEEK MCI_SEEK_TO_START NULL);
MCI_DGV_PLAY_PARMS MCIPlay;
MCIPlay.dwCallback = NULL;
MCIPlay.dwFrom = Getframe ();
DWORD dwFlags = MCI_FROM;
if (bLoop)
dwFlags |= MCI_DGV_PLAY_REPEAT;
if (bFullScreen)
dwFlags |= MCI_MCIAVI_PLAY_FULLSCREEN;
if (mciSendCommand (m_DeviceID MCI_PLAY dwFlags (DWORD)(LPVOID) &MCIPlay))
return FALSE;
m_Pause = FALSE;
m_Playing = TRUE;
return 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     556032  2009-04-07 14:58  本科毕业设计\测试视频.Avi

     文件       5030  2009-05-24 15:19  本科毕业设计\VideoPlayer\VideoPlayer.vcproj

     文件        446  2009-05-24 15:19  本科毕业设计\VideoPlayer\InfoDlg.h

     文件       2743  2009-05-24 13:49  本科毕业设计\VideoPlayer\ReadMe.txt

     文件        467  2009-05-24 13:49  本科毕业设计\VideoPlayer\VideoPlayer.h

     文件       1517  2009-05-24 13:49  本科毕业设计\VideoPlayer\VideoPlayer.cpp

     文件       1195  2009-05-24 16:12  本科毕业设计\VideoPlayer\VideoPlayerDlg.h

     文件       8313  2009-05-24 16:12  本科毕业设计\VideoPlayer\VideoPlayerDlg.cpp

     文件       1458  2009-05-24 13:49  本科毕业设计\VideoPlayer\stdafx.h

     文件        140  2009-05-24 13:49  本科毕业设计\VideoPlayer\stdafx.cpp

     文件      59568  2009-05-24 16:14  本科毕业设计\VideoPlayer\VideoPlayer.aps

     文件        732  2009-05-24 15:19  本科毕业设计\VideoPlayer\InfoDlg.cpp

     文件       6658  2009-05-24 16:14  本科毕业设计\VideoPlayer\VideoPlayer.rc

     文件        911  2009-05-24 13:49  本科毕业设计\VideoPlayer\VideoPlayer.sln

    ..A..H.      8192  2009-05-24 16:14  本科毕业设计\VideoPlayer\VideoPlayer.suo

     文件       1326  2009-05-24 15:13  本科毕业设计\VideoPlayer\Resource.h

     文件        738  2009-05-24 16:08  本科毕业设计\VideoPlayer\Digitalvideo.h

     文件       6163  2009-05-24 16:09  本科毕业设计\VideoPlayer\Digitalvideo.cpp

     文件     172032  2009-05-24 16:14  本科毕业设计\VideoPlayer\Debug\VideoPlayer.exe

     文件        367  2009-05-24 13:49  本科毕业设计\VideoPlayer\res\VideoPlayer.rc2

     文件        700  2009-05-24 13:49  本科毕业设计\VideoPlayer\res\VideoPlayer.manifest

     文件      21630  2003-04-02 03:36  本科毕业设计\VideoPlayer\res\VideoPlayer.ico

     文件      89600  2008-11-13 19:32  本科毕业设计\文档资料\AVI格式介绍.doc

     文件      36352  2009-05-24 16:18  本科毕业设计\文档资料\MCI.doc

     目录          0  2009-05-24 16:14  本科毕业设计\VideoPlayer\Debug

     目录          0  2009-05-24 16:14  本科毕业设计\VideoPlayer\res

     目录          0  2009-05-24 16:14  本科毕业设计\VideoPlayer

     目录          0  2009-05-24 16:15  本科毕业设计\文档资料

     目录          0  2009-05-24 13:22  本科毕业设计

----------- ---------  ---------- -----  ----

............此处省略2个文件信息

评论

共有 条评论

相关资源