?? gsmedia.h
字號:
// GsMedia.h: interface for the CGsMedia class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_GSMEDIA_H__82BD71A2_AB4C_48C5_A8FB_A6052AFFAE77__INCLUDED_)
#define AFX_GSMEDIA_H__82BD71A2_AB4C_48C5_A8FB_A6052AFFAE77__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class GSLIB_API CGsMedia
{
public:
VOID UpdateOwner();
HRESULT SetPositions(LONGLONG pos);
HRESULT GetDuration(LONGLONG& duration);
HRESULT GetPositions(LONGLONG &Current, LONGLONG &length);
VOID UpdateBounds();
// HRESULT PlayLoop(LONG volume = 0);
HRESULT Resume();
HRESULT Pause();
HRESULT Stop();
HRESULT Play();
LONG GetVolume();
HRESULT SetVolume(LONG volume = 0);
BOOL IsPause() {return m_filter_state==State_Paused;}
BOOL IsPlaying() {return m_filter_state==State_Running;}
LONG GetLooping() {return m_isLooping;}
VOID SetLooping(BOOL bLoop = TRUE) {m_isLooping = bLoop;}
BOOL IsVideo() {return m_isVideo;}
HRESULT HandleGraphEvent();
HRESULT FreeDirectShow();
HRESULT InitDirectShow();
virtual BOOL SetStreamSource(const char* strSource);
virtual VOID Cleanup();
CGsMedia(CGsEngine* pEngine);
virtual ~CGsMedia();
protected:
IGraphBuilder *m_pGB;
IMediaSeeking *m_pMS;
IMediaControl *m_pMC;
IMediaEventEx *m_pME;
IBasicVideo *m_pBV;
IVideoWindow *m_pVW;
CGsEngine* m_pEngine;
KEY m_key_source;
BOOL m_isLooping;
BOOL m_isVideo;
LONG m_volume;
ID m_ID;
FILTER_STATE m_filter_state;
};
class GSLIB_API GS_Media_DxVideo : public CGsMedia
{
CDxSurface* m_apBuf[2];
VOID* m_pVR;
public:
virtual HRESULT RestoreObjects();
virtual HRESULT ReleaseObjects();
BOOL CreateTextureBuffers( DWORD width, DWORD height, DXSF dxsf=D3DX_SF_A8R8G8B8);
BOOL CreateSurfaceBuffers(int width, int height, BOOL bUseVideoMem = FALSE);
virtual BOOL SetStreamSource(const char* strSource);
BOOL SetDxSurface(CDxSurface* pSurface_1, CDxSurface* pSurface_2);
CDxSurface* GetFrontSurface();
GS_Media_DxVideo(CGsEngine* pEngine);
virtual ~GS_Media_DxVideo();
};
#endif // !defined(AFX_GSMEDIA_H__82BD71A2_AB4C_48C5_A8FB_A6052AFFAE77__INCLUDED_)
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -