資源簡介
用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??本科畢業設計\VideoPla
?????文件????????446??2009-05-24?15:19??本科畢業設計\VideoPla
?????文件???????2743??2009-05-24?13:49??本科畢業設計\VideoPla
?????文件????????467??2009-05-24?13:49??本科畢業設計\VideoPla
?????文件???????1517??2009-05-24?13:49??本科畢業設計\VideoPla
?????文件???????1195??2009-05-24?16:12??本科畢業設計\VideoPla
?????文件???????8313??2009-05-24?16:12??本科畢業設計\VideoPla
?????文件???????1458??2009-05-24?13:49??本科畢業設計\VideoPla
?????文件????????140??2009-05-24?13:49??本科畢業設計\VideoPla
?????文件??????59568??2009-05-24?16:14??本科畢業設計\VideoPla
?????文件????????732??2009-05-24?15:19??本科畢業設計\VideoPla
?????文件???????6658??2009-05-24?16:14??本科畢業設計\VideoPla
?????文件????????911??2009-05-24?13:49??本科畢業設計\VideoPla
????..A..H.??????8192??2009-05-24?16:14??本科畢業設計\VideoPla
?????文件???????1326??2009-05-24?15:13??本科畢業設計\VideoPla
?????文件????????738??2009-05-24?16:08??本科畢業設計\VideoPla
?????文件???????6163??2009-05-24?16:09??本科畢業設計\VideoPla
?????文件?????172032??2009-05-24?16:14??本科畢業設計\VideoPla
?????文件????????367??2009-05-24?13:49??本科畢業設計\VideoPla
?????文件????????700??2009-05-24?13:49??本科畢業設計\VideoPla
?????文件??????21630??2003-04-02?03:36??本科畢業設計\VideoPla
?????文件??????89600??2008-11-13?19:32??本科畢業設計\文檔資料\AVI格式介紹.doc
?????文件??????36352??2009-05-24?16:18??本科畢業設計\文檔資料\MCI.doc
?????目錄??????????0??2009-05-24?16:14??本科畢業設計\VideoPla
?????目錄??????????0??2009-05-24?16:14??本科畢業設計\VideoPla
?????目錄??????????0??2009-05-24?16:14??本科畢業設計\VideoPla
?????目錄??????????0??2009-05-24?16:15??本科畢業設計\文檔資料
?????目錄??????????0??2009-05-24?13:22??本科畢業設計
-----------?---------??----------?-----??----
............此處省略2個文件信息
- 上一篇:道格拉斯壓縮算法C++實現
- 下一篇:銀行家算法模擬實現C++版
評論
共有 條評論