847xxapi.h

来自「一个针对realmagic的播放器」· C头文件 代码 · 共 66 行

H
66
字号
// 847XXAPI.h: interface for the C847XXAPI class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_847XXAPI_H__89835C2C_968A_4BF0_A58B_3AF0AF61A0A8__INCLUDED_)
#define AFX_847XXAPI_H__89835C2C_968A_4BF0_A58B_3AF0AF61A0A8__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

//#include "pch.h"
#include "manager.h"
#include "splitter.h"

// Macros
#define SAFE_RELEASE(x) { if (x) x->Release(); x = NULL; }

#define JIF(x) if (FAILED(hr=(x))) \
    {Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n\0"), hr); return hr;}

#define LIF(x) if (FAILED(hr=(x))) \
    {Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n\0"), hr);}

//
#define BUFFERSIZE 0x10000	// 64kb

//
class C847XXAPI  
{
	public:
		C847XXAPI(HINSTANCE hInstance, HWND hwnd, DWORD dwKeyColor);
		virtual ~C847XXAPI();

	public:
		void Start();
		void Stop();
		BOOL Play(char* file);
		void Uninitialize();
		BOOL Initialize();
	    char* GetFileName();
		IRmHardware* GetIrmHardware() { return m_pHardware; }
		HWND m_hwnd;

	private:
		DWORD m_VideoChoice;
		char m_FileName[128];

		MemManager		*m_pMemManager;
		Splitter		*m_pSplitter;
		IRmHardware		*m_pHardware;
		CMediaType		m_mAudioType;
		AudioSubtype	m_AudioSubtype;

		DWORD m_dwPlayThreadId;
		HANDLE m_hPlayThread;

		HINSTANCE m_hInstance;
		DWORD m_dwKeyColor;

		// For synchronization
		HANDLE m_hPlayEvent;
		BOOL m_bPlay;
};
#endif // !defined(AFX_847XXAPI_H__89835C2C_968A_4BF0_A58B_3AF0AF61A0A8__INCLUDED_)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?