00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef VideoPlayer_h
00011 #define VideoPlayer_h
00012
00013 #include <streams.h>
00014 #include "atlbase.h"
00015
00016 class VideoPlayer
00017 {
00018 public:
00019 VideoPlayer(const char *name, bool image);
00020 virtual ~VideoPlayer();
00021 int isNull();
00022
00023 void play();
00024 void stop();
00025 void seek(int frame);
00026 void showSegment(int startFrame, int stopFrame);
00027
00028 private:
00029
00030 HRESULT buildGraph(const char* filename);
00031 HRESULT showError(const char* msg, HRESULT hr);
00032 HRESULT init(const char *filename, bool image);
00033
00034 int _playing;
00035
00036 CComPtr<IGraphBuilder> _iBuilder;
00037 CComPtr<IMediaControl> _imCtrl;
00038 CComPtr<IMediaSeeking> _imSeek;
00039 CComPtr<IMediaEvent> _imEvent;
00040 CComPtr<IVideoWindow> _iWindow;
00041 };
00042
00043 #endif
00044
00045