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);