📄 rtspplayer.h
字号:
#ifndef __RTSPPLAYER_H__
#define __RTSPPLAYER_H__
#include <windows.h>
#include <streams.h>
#include <time.h>
#include <string.h>
#include <initguid.h>
#include "irmsourceex.h"
#include "sdinterf.h"
#include "resource.h"
#define INI_FILE_EXTENSION "INI Files(*.ini)\0*.ini\0All Files(*.*)\0*.*\0"
#define INI_FILE "fileslist.ini"
#define WM_GRAPHNOTIFY WM_USER+13
TCHAR g_szAppName [] = TEXT("Rtsp Player") ;
DWORD g_KeyColor = RGB(0, 0, 0x80);
HINSTANCE g_hInstance; // program's instance handle
HWND g_hDlg, g_hWnd;
char g_szIniFile[128] = "fileslist.ini";
DWORD g_dwStartTime = 0;
BOOL g_bLoop = TRUE;
BOOL g_bTvOut = TRUE;
BOOL g_bFullScreen = TRUE;
UINT g_uiWindowStatus = SW_HIDE;
class RtspPlayer
{
public:
RtspPlayer(HWND hwnd);
~RtspPlayer();
BOOL Initialize();
void Uninitialize();
void Play();
void Stop();
void SetFullScreen(BOOL bFullScreen);
void SetTvOut(BOOL bVal);
void UpdateWindowPos(HWND hwnd);
void GetINIInfo(HWND hwnd);
void SetFileName(char *szFile);
void SetIniFilePath(char *szFile);
HRESULT GetMediaEvent(long *lEventCode, long *lParam1, long *lParam2, long msTimeout);
HRESULT FreeMediaEventParams(long lEventCode, long lParam1, long lParam2);
private:
HWND m_hwnd;
DWORD m_dwPlayrate;
BOOL m_bTvOut;
int m_iFullScreen;
char m_szIpAddr[64];
char m_szPlayFileName[64];
char m_szPlayFilePath[128];
char m_szPlayFileFullPath[256]; // includes server ip address, path and file name
char m_szIniFile[256]; // full path of the INI file
int m_iServerType; // OVS or SGI
IMediaControl *m_pIMediaControl;
IMediaEventEx *m_pIMediaEventEx;
IVideoWindow *m_pIVideoWindow;
IBaseFilter *m_pIRmSourceFilter;
IGraphBuilder *m_pIGraphBuilder;
IBasicVideo *m_pIBasicVideo;
IPin *m_pIPin;
IMediaFilter *m_pIMediaFilter;
IReferenceClock *m_pIRefClock;
ITvVgaOutput *m_pITvVgaOut;
IRMSourceStreamEx *m_pIRmSourceStreamEx;
HRESULT GetBasicVideoInterface();
IPin *GetFirstPin(IBaseFilter *filter, PIN_DIRECTION PinDir);
HRESULT QueryTvVgaOutput();
};
long CALLBACK WndProc (HWND hwnd, UINT message, UINT wParam, LONG lParam);
BOOL CALLBACK PlayFileDlgProc(HWND hDlg, WORD wMsg, WPARAM wParam, LONG lParam);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -