MP4制作文档费下载
MP4制作文档
1:打开Visual Studio.Net 2005,选择File->New->Project…,在New Project 下面选择Visual C++->Smart Device
类型,选择MFC Smart Device Application文件类型。在下列的Name和Location当中分别填写文件名MediaPlayer和 D:\vc\XSBase270工程文件路径。
图【1】 New Project 建立界面
:在下列的步骤当中,按照如下图所示,选择好所见工程的SDK和工程类型,选择2
Emulator(SDK,注意这里的SDK是我们从Platform Builder工程镜像当中导出产生。),工程类型为:
DialogBase对话框工程类型。
图【2】 MFC Smart Device Application Winzard(向导)
图【3】 选择工程SDK类型
图【4】工程类型选择向导
图【5】MFC Smart Device Application Wizard
图【6】MFC Smart Device Application Wizard
图【7】MFC Smart Device Application Wizard
4:工程建立完成之后,按照如下图所示添加如下组建并设置其属性如下: 控件ID 控件类型 控件说明
IDC_WND_VIDEO TEXT_Control(static组件) 用于视频显示 IDC_PRG_VIDEO Progress_Bar_Control 用于显示播放进度 IDC_Open Button 用于打开播放视屏文件 IDC_Pause Button 用于暂停播放的视频文件 IDC_Stop Button 用于停止当前播放视频文件 IDC_Full Button 用于全频显示当前播放的视频 IDC_Play Button 用于播放开始播放视频
图【8】MediaPlayer播放器界面构架
5:选择MediaPlayer工程,单击右键选择工程Property->Configuration Properties->Linker->Input,在 Additional Dependecies 当中输入 strmiids.lib,为能使用directshow 库而做好准备。
图【9】静态库添加方法图
6:建立一个 Directshow 的接口类,其中包括 Directshow的如下接口:IGraphicBuilder, IMediaControlm, IMediaEventEx,IVideoWindow,IBasicAudio ,IBasicVideo 和 IMediaSeeking。
CEricMediaControl (类名称) , IGraphBuilder *m_pGB , IMediaControl *m_pMC , IMediaEventEx *m_pME , IVideoWindow *m_pVW , IBasicAudio *m_pBA , IBasicVideo *m_pBV , IMediaSeeking *m_pMS , HWND m_hOwnerWnd , BOOL InitDShow(LPCTSTR strFileName ,HWND hOwnerWnd ,HWND hNotifyWnd); BOOL VideoRun();//暂停视频 , BOOL VideoPause();//停止视频 , BOOL VideoStop(); , BOOL FitVideoWindow(FLOAT fScale); //设置视频显示比例 , +BOOL FullScreen(); //全屏显示 , +BOOL GetFullScreenStatus(); //得到是否是全屏显示 , +BOOL GetMediaEvent(long *lEventCode); //得到DShow播放事件//设置播放进度,单位: 秒 , BOOL SetPositions(DWORD dwPos /*设置当前播放进度*/);//得到视频播放当前的位置,单 位:秒 , BOOL GetCurrentPos(DWORD &dwPos /*out 当前播放进度*/); BOOL GetDuration(DWORD &dwLength); , BOOL GetFullScreenStatus(); //得到是否是全屏显示 , BOOL GetMediaEvent(long *lEventCode); //得到DShow播放事件 //设置播放进度,单位: 秒 , +BOOL SetPositions(DWORD dwPos /*设置当前播放进度*/); //得到视频播放当前的位置,单位:秒 , +BOOL GetCurrentPos(DWORD &dwPos /*out 当前播放进度*/); +BOOL GetDuration(DWORD &dwLength); //得到视频文件时间长度,单位:秒