用MFC视频控件播放视频

 

 源代码:http://download.csdn.net/detail/nuptboyzhb/4267664

举例:

1.      新建一个基于对话框的应用程序

2.      删除默认控件,增加一个按钮控件,ID设为ID_OPEN;

3.      在对话框的空白处右键插入ActiveX控件,选择Windows Media Player。注意:路径为C:\WINDOWS\system32\wmp.dll

4.      为ActiveX控件关联一个CWMPPlayer4类型的变量m_player;注意,添加相应的类。(这些有VC6.0自动添加)

5.      为第2步的按钮控件添加消息处理响应函数,实现文件的打开,并将文件的路径设置为m_player的播放路径。

代码如下:

char  szFileFilter[]="Mp3  File(*.mp3)|*.mp3|"

              "Wma   File(*.wma)|*.wma|"

              "Video   File(*.dat)|*.dat|"

              "Wave   File(*.wav)|*.wav|"

              "AVI   File(*.avi)|*.avi|"

              "Movie   File(*.mov)|*.mov|"

              "Media   File(*.mmm)|*.mmm|"

              "Mid   File(*.mid;*,rmi)|*.mid;*.rmi|"

              "MPEG   File(*.mpeg)|*.mpeg|"

              "All   File(*.*)|*.*|| ";//文件类型过滤

       CFileDialog  dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);

       if(dlg.DoModal()==IDOK)

       {

              CString   PathName=dlg.GetPathName();

              PathName.MakeUpper();

              m_player.SetUrl(PathName);

             

       }


 

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
MFC提供了一些基本的视频播放功能,可以使用MFC的CWnd类来创建一个窗口,然后使用一些第三方的视频库来实现视频播放功能。以下是一个简单的MFC视频播放示例: 1. 首先,创建一个新的MFC应用程序项目。 2. 在资源文件添加一个静态文本控件和一个按钮。 3. 在CMainFrame类的头文件添加以下代码: ``` #include "VLC/vlc.h" #pragma comment(lib, "libvlc.lib") class CMainFrame : public CFrameWnd { public: CMainFrame(); virtual ~CMainFrame(); protected: DECLARE_MESSAGE_MAP() private: libvlc_instance_t* m_pVLCInstance; libvlc_media_player_t* m_pMediaPlayer; CStatic m_wndVideo; CButton m_btnPlay; void InitVLC(); void PlayVideo(); }; ``` 4. 在CMainFrame类的实现文件添加以下代码: ``` BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) ON_BN_CLICKED(IDC_BUTTON_PLAY, &CMainFrame::OnBnClickedButtonPlay) END_MESSAGE_MAP() CMainFrame::CMainFrame() { InitVLC(); PlayVideo(); m_wndVideo.Create(_T("Video"), WS_CHILD | WS_VISIBLE | SS_BLACKRECT, CRect(0, 0, 640, 480), this); m_btnPlay.Create(_T("Play"), WS_CHILD | WS_VISIBLE, CRect(0, 480, 100, 500), this, IDC_BUTTON_PLAY); } CMainFrame::~CMainFrame() { libvlc_media_player_stop(m_pMediaPlayer); libvlc_media_player_release(m_pMediaPlayer); libvlc_release(m_pVLCInstance); } void CMainFrame::InitVLC() { const char* const vlc_args[] = { "--no-osd", "--no-loop", "--no-video-title-show", "--embedded-video", }; m_pVLCInstance = libvlc_new(sizeof(vlc_args) / sizeof(vlc_args[0]), vlc_args); m_pMediaPlayer = libvlc_media_player_new(m_pVLCInstance); } void CMainFrame::PlayVideo() { libvlc_media_t* pMedia = libvlc_media_new_path(m_pVLCInstance, "path/to/video/file"); libvlc_media_player_set_media(m_pMediaPlayer, pMedia); libvlc_media_release(pMedia); libvlc_media_player_set_hwnd(m_pMediaPlayer, m_wndVideo.GetSafeHwnd()); libvlc_media_player_play(m_pMediaPlayer); } void CMainFrame::OnBnClickedButtonPlay() { PlayVideo(); } ``` 5. 最后,在资源文件将按钮的ID设置为IDC_BUTTON_PLAY。 这是一个简单的MFC视频播放示例,其使用了VLC库。你可以使用其他的视频库来实现视频播放功能。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值