www.pudn.com > DXPlayer.rar > dxplayer.h


//是否存在某个视频只有声音,没有图像?(比如不能正常解码时) 
#define AUDIO_MEDIA    0 
#define VIDEO_MEDIA    1 
#define STATIC_PICTURE 2 
 
#define PLAYERWND_DEFAULT_WIDTH  400 
#define PLAYERWND_DEFAULT_HEIGHT 300 
 
#define AUDIO_DEFAULT_WIDTH  400 
#define AUDIO_DEFAULT_HEIGHT 65+BUTTOM_BLANK_HEIGHT+BUTTOM_BLANK_HEIGHT 
 
#define TRACKBAR_HEIGHT   15 
#define BUTTOM_BLANK_HEIGHT  15 
 
#define TIMER_FREQ   100 
#define TRACK_LEN    10000 
 
#define SafeRelease(x) { if((x))  (x)->Release();} 
#define ErrorExit(msg)  {MessageBox(NULL,TEXT(msg),TEXT("Error"),MB_OK|MB_ICONERROR);return -1;} 
#define LIF(x) if (FAILED(hr=(x))) \ 
    {Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n\0"), hr); return hr;} 
#define JIF(x) if (FAILED(hr=(x))) \ 
	{Msg(TEXT("FAILED(hr=0x%x) in ") TEXT(#x) TEXT("\n\n"),hr);} 
 
#ifdef _DEBUG 
	//#x显示出DEBUG()的整个参数 
	#define _TEST(x) if (x) {Msg(TEXT(#x));}  
#endif 
 
#define WM_GRAPHNOTIFY  WM_USER+1 
 
#define DEFAULT_MEDIA_PATH  TEXT("\\\0") //may not exist? 
 
#define FILE_FILTER_TEXT  \ 
	TEXT("Video Files (*.avi; *.qt; *.mov; *.mpg; *.mpeg; *.m1v)\0*.avi; *.qt; *.mov; *.mpg; *.mpeg; *.m1v\0")\ 
    TEXT("Audio files (*.wav;*wma;*.mpa; *.mp2; *.mp3; *.au; *.aif; *.aiff; *.snd)\0*.wav;*.wma; *.mpa; *.mp2; *.mp3; *.au; *.aif; *.aiff; *.snd\0")\ 
    TEXT("MIDI Files (*.mid, *.midi, *.rmi)\0*.mid; *.midi; *.rmi\0")\ 
    TEXT("Image Files (*.jpg, *.bmp, *.gif, *.tga)\0*.jpg; *.bmp; *.gif; *.tga\0")\ 
    TEXT("All Files (*.*)\0*.*;\0\0") 
 
enum PLAYSTATE{Init,Stopped,Running,Pause}; 
 
// 
// Globe Variable 
// 
extern int			g_xMinPlayWnd=PLAYERWND_DEFAULT_WIDTH; 
extern int			g_yMinPlayWnd=PLAYERWND_DEFAULT_HEIGHT;  
extern PLAYSTATE   g_psCurrent=Init; 
extern BOOL        g_bFullScreen=0; 
extern int			g_iPlayRate=1; 
extern int         g_MediaType=AUDIO_MEDIA; 
extern LONGLONG    g_lDuration=0; 
 
void Msg(LPCSTR format,...);  //helper method 
 
HRESULT		Play(LPCSTR  szFileName); 
HRESULT		InitDefPlayWindow(void);  
HRESULT		InitVidoWindow(int nMultipier,int nDivider); 
HRESULT		InitAudioWindow(void); 
HRESULT		ToggleFullScreen(void); 
void		CleanUpInterface(void); 
HRESULT		HandleGraphEvent(void); 
 
HRESULT		SetVolum(int Volum); 
HRESULT		GetVolum(int *Volum); 
  
//justify the video rect while resizing the main window 
HRESULT		ResizeMove();  
//HRESULT	CheckMediaType(AM_MEDIA_TYPE *pmt); 
HRESULT		CheckMediaType(LPCSTR szFileName); 
 
void		OnOpen(void); 
void		OnClose(void); 
void		OnSetMode(void); 
 
BOOL		GetMediaFileName(LPTSTR  szFileName); 
BOOL		CheckMediaSeekable(void); 
void		StopTimer(void); 
 
//implementing a seek bar(slider) 
void		InitTrackbar(void);