实验8数字视频播放器15修改报告Word文档格式.docx

上传人:b****2 文档编号:15385285 上传时间:2022-10-29 格式:DOCX 页数:18 大小:27.20KB
下载 相关 举报
实验8数字视频播放器15修改报告Word文档格式.docx_第1页
第1页 / 共18页
实验8数字视频播放器15修改报告Word文档格式.docx_第2页
第2页 / 共18页
实验8数字视频播放器15修改报告Word文档格式.docx_第3页
第3页 / 共18页
实验8数字视频播放器15修改报告Word文档格式.docx_第4页
第4页 / 共18页
实验8数字视频播放器15修改报告Word文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

实验8数字视频播放器15修改报告Word文档格式.docx

《实验8数字视频播放器15修改报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验8数字视频播放器15修改报告Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

实验8数字视频播放器15修改报告Word文档格式.docx

IDC_STATIC

视频信息

IDC_FRAMES

视频文件名:

IDC_DEMENSION

播放速度:

Button

IDC_OPEN

打开

是否静音:

IDC_PLAY

播放

视频帧数:

IDC_PAUSE

暂停

视频尺寸:

IDC_PRE

上一帧

IDC_VIDEO_NAME

IDC_NEXT

下一帧

IDC_PLAY_SPEED

IDC_STOP

停止

现在在应用程序中插入一个对话框资源(插入—资源—对话框),用来设置播放速度,其ID设为IDD_SPEED:

IDD_SPEED对话框控件属性表

EditBox

IDC_SPEED1

IDOK

确定

IDCANCEL

取消

还需象应用程序中插入一个对话框资源,用做视频输出窗口,ID为IDD_DISPLAY。

2.制作菜单

插入一个菜单资源,将ID设为IDR_MAINFRAME。

IDR_MAINFRAME中的菜单项

菜单标题

菜单项标题

文件

关闭

IDC_OK

选项

静音

IDC_SOUND

全屏

IDC_FULLSCREEN

循环播放

IDC_LOOP

视频速度

IDC_SPEED

在你的主对话框的属性中的菜单项中,选中IDR_MAINFRAME

现在编译一下,就得到了我们所要的界面。

3.添加消息处理函数(查看——建立类向导)

在C***Dlg中需要添加的消息处理函数

消息

BN_CLICKED

COMMAND

C***Dlg

WM_TIMER

然后为IDD_SPEED对话框资源添加一个intm_speed成员变量(选择IDD_SPEED对话框资源,右键选中建立类向导,新建类CSpeed,在该类中选中成员变量一项,选中IDC_SPEED1双击添加成员变量intm_speed)

三完成应用程序功能设计

1.将已设计好的类Cvideo加到你的工程中来(先把文件video.cpp和video.h拷贝到工程文件目录,在fileview中分别选择源文件和头文件目录,右键选择将文件添加到工程中,把这两个文件添加进工程目录中),并使C***Dlg的头文件包含该类的头文件(#include“video.h”;

#include“speed.h”),然后在C***Dlg类的声明中加入以下代码:

protected:

CVideom_Video;

boolm_bIsOpen;

boolm_bSound;

boolm_bLoop;

boolm_bFullScreen;

CDialog*display;

2.初始化你的主对话框

在OnInitDlialog()中//TODO:

Addextrainitializationhere后加入以下代码:

display=newCDialog;

display->

Create(IDD_DISPLAY);

SetTimer(1,100,NULL);

3.完成消息函数OnTimer,OnOpen,OnPlay,OnStop,OnPause,OnPre,OnNext,OnSound,OnLoop,OnFullScreen,OnSpeed

voidCVideoPlayerDlg:

:

OnTimer(UINTnIDEvent)

{

//TODO:

Addyourmessagehandlercodehereand/orcalldefault

CWnd*m_pWnd=GetDlgItem(IDC_PLAY);

m_pWnd->

EnableWindow(m_bIsOpen);

m_pWnd=GetDlgItem(IDC_PAUSE);

m_pWnd=GetDlgItem(IDC_STOP);

m_pWnd=GetDlgItem(IDC_NEXT);

m_pWnd=GetDlgItem(IDC_PRE);

if(m_bIsOpen)

{

CStringInfo;

Info.Format("

当前播放帧数:

%d"

m_Video.GetFrame());

m_pWnd=GetDlgItem(IDC_DISPLAY);

//获得静态图像控件位置

CClientDCdc(m_pWnd);

CRectrect;

CBrushbrush(COLORREF(0)),*OldBrush;

OldBrush=(CBrush*)dc.SelectObject(brush);

m_pWnd->

GetClientRect(rect);

//获得静态图像控件大小

dc.SetTextColor(COLORREFRGB(0,0,255));

dc.SetBkColor(COLORREFRGB(0,0,0));

dc.FillRect(rect,&

brush);

CSizesize=dc.GetTextExtent(Info);

//获得文本尺寸

dc.TextOut((rect.Width()-size.cx)/2,(rect.Height()-size.cy)/2,Info);

dc.SelectObject(&

OldBrush);

CStringstr;

str.Format("

m_Video.GetSpeed());

SetDlgItemText(IDC_PLAY_SPEED,str);

m_Video.GetFrames());

SetDlgItemText(IDC_FRAMES,str);

if(m_Video.GetSound())

str=_T("

否"

);

else

是"

SetDlgItemText(IDC_PLAY_SOUND,str);

}

CDialog:

OnTimer(nIDEvent);

}

OnOpen()

Addyourcontrolnotificationhandlercodehere

CStringFilter,str;

Filter="

视频文件(*.AVI)|*.AVI||"

;

//得到窗口尺寸

CRectrect;

this->

GetWindowRect(rect);

CFileDialogFileDlg(true,NULL,NULL,OFN_HIDEREADONLY,Filter);

if(FileDlg.DoModal()==IDOK)//单击文件选择对话框的“确定”键

if(!

m_Video.Open(FileDlg.GetPathName(),display,0,0))//打开视频文件

{

MessageBox("

不能打开文件!

"

"

Error"

MB_OK|MB_ICONSTOP);

return;

}

//将显示屏幕定位在主对话框的下方,并根据视频大小确定屏幕大小

intBorder,Caption;

Border=GetSystemMetrics(SM_CXSIZEFRAME);

Caption=GetSystemMetrics(SM_CYCAPTION);

display->

SetWindowPos(this,rect.left+30,rect.bottom+30,

m_Video.GetWidth()+Border,m_Video.GetHeight()+Caption+Border,

SWP_SHOWWINDOW);

ShowWindow(true);

SetWindowText(FileDlg.GetFileName());

SetDlgItemText(IDC_VIDEO_NAME,FileDlg.GetFileName());

%d×

m_Video.GetWidth(),m_Video.GetHeight());

SetDlgItemText(IDC_DEMENSION,str);

m_bIsOpen=true;

OnPlay()

m_Video.Play(m_bLoop,m_bFullScreen);

OnStop()

m_Video.Stop();

OnPause()

m_Video.Pause();

OnPre()

m_Video.Backward

(1);

OnNe

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1