📄 playwnddlg.h
字号:
// PlayWndDlg.h : 头文件
//
#pragma once
#include "stdafx.h"
#include <initguid.h>
// CyberLink H.264/AVC Decoder (PDVD8){C16541FF-49ED-4DEA-9126-862F57722E31}
DEFINE_GUID(CLSID_FFdshowFilter,
0x04FE9017, 0xF873, 0x410E, 0x87, 0x1E, 0xAB, 0x91, 0x66, 0x1A, 0x4E, 0xF7);
// MPC - Avi Splitter{9736D831-9D6C-4E72-B6E7-560EF9181001}
DEFINE_GUID(CLSID_AviSpliter,
0x1B544C20, 0xFD0B, 0x11CE, 0x8C, 0x63, 0x00, 0xAA, 0x00, 0x44, 0xB5, 0x1E);
// {78766964-0000-0010-8000-00AA00389B71}
DEFINE_GUID(CLSID_VMRRenderer,
0x51B4ABF3, 0x748F, 0x4E3B, 0xA2, 0x76, 0xC8, 0x28, 0x33, 0x0E, 0x92, 0x6A);
// {78766964-0000-0010-8000-00AA00389B71}
DEFINE_GUID(CLSID_AviDecoder,
0x78766964, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71);
DEFINE_GUID(CLSID_CoreAvcDecoder,
0x09571A4B, 0xF1FE, 0x4C60, 0x97, 0x60, 0xDE, 0x6D, 0x31, 0x0C, 0x7C, 0x31);
// CPlayWndDlg 对话框
class CPlayWndDlg : public CDialog
{
// 构造
public:
CPlayWndDlg(CWnd* pParent = NULL); // 标准构造函数
// 对话框数据
enum { IDD = IDD_PLAYWND_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
virtual BOOL DestroyWindow();
// 实现
protected:
HICON m_hIcon;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP();
//和媒体控制相关的成员变量
afx_msg HRESULT OnGraphNotify(WPARAM wParam,LPARAM lParam);
private:
IGraphBuilder *m_pGraph; //IGraphBuilder 接口提供了生成Filter Graph相//关的方法
IMediaControl *m_pMediaControl;
//IMediaControl 接口提供了控制流经Filter //Graph数据流的相关方法
IMediaEventEx *m_pEvent;
//IMediaEventEx 继承自IMediaEvent,提供了从
//Filter Graph 管理器获取事件消息的方法
HRESULT GetUnconnectedPin(IBaseFilter *pFileter, PIN_DIRECTION PinDir, IPin **ppPin);
HRESULT ConnectFilters( IGraphBuilder *pGraph, IBaseFilter *pSrc, IBaseFilter *pDest);
HRESULT ConnectFilters( IGraphBuilder *pGraph, IPin *pOut, IBaseFilter *pDest);
IMediaSeeking *m_pMediaSeeking; //IMediaSeeking 提供了控制流的播放位置和播放//速度的方法
CString m_strMediaFile; //当前播放的媒体文件的名称
BOOL m_isPlaying; //当前的播放状态
private:
void MoveVideoWindow(void);
void CleanUp(void);
BOOL Stop(void);
BOOL Play(void);
public:
afx_msg void OnBnClickedBrowseButton();
afx_msg void OnBnClickedPlayButton();
afx_msg void OnBnClickedPauseButton();
afx_msg void OnBnClickedCancel();
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -