📄 hxgroup.h
字号:
IHXGroup* /*IN*/ pGroup) PURE;
};
// $Private:
/****************************************************************************
*
* Interface:
*
* IHXPreCacheGroupMgr
*
* Purpose:
*
*
* IID_IHXPreCacheGroupMgr:
*
* {00000E00-b4c8-11d0-9995-00a0248da5f0}
*
*/
DEFINE_GUID(IID_IHXPreCacheGroupMgr, 0x00000E00, 0xb4c8, 0x11d0,
0x99, 0x95, 0x0, 0xa0, 0x24, 0x8d, 0xa5, 0xf0);
#undef INTERFACE
#define INTERFACE IHXPreCacheGroupMgr
DECLARE_INTERFACE_(IHXPreCacheGroupMgr, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/************************************************************************
* Method:
* IHXPreCacheGroupMgr::SetNextGroup
* Purpose:
* Play this as the next group in the presentation.
*/
STDMETHOD(SetNextGroup) (THIS_
UINT16 /*IN*/ uGroupIndex) PURE;
/************************************************************************
* Method:
* IHXPreCacheGroupMgr::GetNextGroup
* Purpose:
* Get the next group to be played in the presentation.
*/
STDMETHOD(GetNextGroup) (THIS_ REF(UINT16) uGroupIndex) PURE;
/************************************************************************
* Method:
* IHXPreCacheGroupMgr::DefaultNextGroup
* Purpose:
* Reset to the default next group to be played in the presentation.
*/
STDMETHOD(DefaultNextGroup) (THIS) PURE;
};
// $EndPrivate.
/****************************************************************************
*
* Interface:
*
* IHXTrack
*
* Purpose:
*
*
* IID_IHXTrack:
*
* {0x00002404-0901-11d1-8B06-00A024406D59}
*
*/
DEFINE_GUID(IID_IHXTrack, 0x00002404, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef INTERFACE
#define INTERFACE IHXTrack
DECLARE_INTERFACE_(IHXTrack, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/*
* IHXTrack methods
*/
/************************************************************************
* Method:
* IHXTrack::Begin()
* Purpose:
* start the track
*/
STDMETHOD(Begin) (THIS) PURE;
/************************************************************************
* Method:
* IHXTrack::Pause()
* Purpose:
* pause the track
*/
STDMETHOD(Pause) (THIS) PURE;
/************************************************************************
* Method:
* IHXTrack::Seek()
* Purpose:
* seek the track
*/
STDMETHOD(Seek) (THIS_
UINT32 ulSeekTime) PURE;
/************************************************************************
* Method:
* IHXTrack::Stop()
* Purpose:
* stop the track
*/
STDMETHOD(Stop) (THIS) PURE;
/************************************************************************
* Method:
* IHXTrack::AddRepeat()
* Purpose:
* add repeat tracks
*/
STDMETHOD(AddRepeat)(THIS_
IHXValues* pValues) PURE;
/************************************************************************
* Method:
* IHXTrack::GetTrackProperties()
* Purpose:
* get track properties
*/
STDMETHOD(GetTrackProperties)(THIS_
REF(IHXValues*) pValues,
REF(IHXValues*) pValuesInRequest) PURE;
/************************************************************************
* Method:
* IHXTrack::GetSource
* Purpose:
* Returns the Nth source instance supported by this player.
*/
STDMETHOD(GetSource) (THIS_
REF(IHXStreamSource*) pStreamSource) PURE;
/************************************************************************
* Method:
* IHXTrack::SetSoundLevel()
* Purpose:
* Set Audio Level
*/
STDMETHOD(SetSoundLevel)(THIS_
UINT16 uSoundLevel) PURE;
/************************************************************************
* Method:
* IHXTrack::GetSoundLevel()
* Purpose:
* Get Audio Level
*/
STDMETHOD_(UINT16, GetSoundLevel)(THIS) PURE;
/************************************************************************
* Method:
* IHXTrack::BeginSoundLevelAnimation()
* Purpose:
* notify the start of soundlevel animation
*/
STDMETHOD(BeginSoundLevelAnimation)(THIS_
UINT16 uSoundLevelBeginWith) PURE;
/************************************************************************
* Method:
* IHXTrack::EndSoundLevelAnimation()
* Purpose:
* notify the stop of soundlevel animation
*/
STDMETHOD(EndSoundLevelAnimation)(THIS_
UINT16 uSoundLevelEndWith) PURE;
};
/****************************************************************************
*
* Interface:
*
* IHXTrackSink
*
* Purpose:
*
*
* IID_IHXTrackSink:
*
* {0x00002405-0901-11d1-8B06-00A024406D59}
*
*/
DEFINE_GUID(IID_IHXTrackSink, 0x00002405, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef INTERFACE
#define INTERFACE IHXTrackSink
DECLARE_INTERFACE_(IHXTrackSink, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/*
* IHXTrackSink methods
*/
/************************************************************************
* Method:
* IHXTrackSink::BeginDone()
* Purpose:
* done with begin
*/
STDMETHOD(BeginDone) (THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex) PURE;
/************************************************************************
* Method:
* IHXTrackSink::SeekDone()
* Purpose:
* done with seek
*/
STDMETHOD(SeekDone) (THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex,
UINT32 ulSeekTime) PURE;
/************************************************************************
* Method:
* IHXTrackSink::PauseDone()
* Purpose:
* done with pause
*/
STDMETHOD(PauseDone) (THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex) PURE;
/************************************************************************
* Method:
* IHXTrackSink::StopDone()
* Purpose:
* done with stop
*/
STDMETHOD(StopDone) (THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex) PURE;
/************************************************************************
* Method:
* IHXTrackSink::OnSoundLevelAnimation()
* Purpose:
* sound level animation is in process
*/
STDMETHOD(OnSoundLevelAnimation) (THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex,
UINT32 ulSoundLevelAnimationTime) PURE;
};
/****************************************************************************
*
* Interface:
*
* IHXGroupSink2
*
* Purpose:
*
*
* IID_IHXGroupSink2:
*
* {0x00002407-0901-11d1-8B06-00A024406D59}
*
*/
DEFINE_GUID(IID_IHXGroupSink2, 0x00002407, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
#undef INTERFACE
#define INTERFACE IHXGroupSink2
DECLARE_INTERFACE_(IHXGroupSink2, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/*
* IHXGroupSink2 methods
*/
/************************************************************************
* Method:
* IHXGroupSink2::GroupInsertedBefore
* Purpose:
* Notification of a new group being inserted before the group
*/
STDMETHOD(GroupInsertedBefore) (THIS_
UINT16 /*IN*/ uBeforeGroupIndex,
IHXGroup* /*IN*/ pGroup) PURE;
/************************************************************************
* Method:
* IHXGroupSink2::GroupInsertedAfter
* Purpose:
* Notification of a new group being inserted after the group
*/
STDMETHOD(GroupInsertedAfter) (THIS_
UINT16 /*IN*/ uAfterGroupIndex,
IHXGroup* /*IN*/ pGroup) PURE;
/************************************************************************
* Method:
* IHXGroupSink2::GroupReplaced
* Purpose:
* Notification of a new group replace the current group
* current presentation.
*/
STDMETHOD(GroupReplaced) (THIS_
UINT16 /*IN*/ uGroupIndex,
IHXGroup* /*IN*/ pGroup) PURE;
};
/****************************************************************************
*
* Interface:
*
* IHXPrefetch
*
* Purpose:
*
* Interface to manage prefetch
*
* IID_IHXPrefetch:
*
* {00002408-0901-11d1-8B06-00A024406D59}
*
*/
DEFINE_GUID(IID_IHXPrefetch, 0x00002408, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
DECLARE_INTERFACE_(IHXPrefetch, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/*
* IHXPrefetch methods
*/
/************************************************************************
* Method:
* IHXPrefetch::AddPrefetchTrack
* Purpose:
* adds prefetch track by specifying "PrefetchType" and "PrefetchValue"
* in pTrack's IHXValues
*/
STDMETHOD(AddPrefetchTrack) (THIS_
IHXValues* /*IN*/ pTrack) PURE;
/************************************************************************
* Method:
* IHXPrefetch::RemovePrefetchTrack
* Purpose:
* removes prefetched track
*/
STDMETHOD(RemovePrefetchTrack) (THIS_
UINT16 /*IN*/ uTrackIndex) PURE;
/************************************************************************
* Method:
* IHXPrefetch::GetPrefetchTrackCount
* Purpose:
* get number of prefetch tracks added
*/
STDMETHOD_(UINT16,GetPrefetchTrackCount) (THIS) PURE;
/************************************************************************
* Method:
* IHXPrefetch::GetPrefetchTrack
* Purpose:
* get prefetch track based on the index
*/
STDMETHOD(GetPrefetchTrack) (THIS_
UINT16 /*IN*/ uTrackIndex,
REF(IHXValues*) /*OUT*/ pTrack) PURE;
/************************************************************************
* Method:
* IHXPrefetch::AddPrefetchSink
* Purpose:
* add prefetch sink
*/
STDMETHOD(AddPrefetchSink) (THIS_
IHXPrefetchSink* /*IN*/ pSink) PURE;
/************************************************************************
* Method:
* IHXPrefetch::RemovePrefetchSink
* Purpose:
* remove prefetch sink
*/
STDMETHOD(RemovePrefetchSink) (THIS_
IHXPrefetchSink* /*IN*/ pSink) PURE;
};
/****************************************************************************
*
* Interface:
*
* IHXPrefetchSink
*
* Purpose:
*
* Sink Interface to IHXPrefetch
*
* IID_IHXPrefetchSink
*
* {00002406-0901-11d1-8B06-00A024406D59}
*/
DEFINE_GUID(IID_IHXPrefetchSink, 0x00002406, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
0xa0, 0x24, 0x40, 0x6d, 0x59);
DECLARE_INTERFACE_(IHXPrefetchSink, IUnknown)
{
/*
* IUnknown methods
*/
STDMETHOD(QueryInterface) (THIS_
REFIID riid,
void** ppvObj) PURE;
STDMETHOD_(ULONG32,AddRef) (THIS) PURE;
STDMETHOD_(ULONG32,Release) (THIS) PURE;
/*
* IHXPrefetchSink methods
*/
/************************************************************************
* Method:
* IHXPrefetchSink::PrefetchTrackAdded()
* Purpose:
* prefetch track is added
*/
STDMETHOD(PrefetchTrackAdded) (THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex,
IHXValues* pTrack) PURE;
/************************************************************************
* Method:
* IHXPrefetchSink::PrefetchTrackRemoved()
* Purpose:
* prefetch track is removed
*/
STDMETHOD(PrefetchTrackRemoved) (THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex,
IHXValues* pTrack) PURE;
/************************************************************************
* Method:
* IHXPrefetchSink::PrefetchTrackDone()
* Purpose:
* prefetch track is done
*/
STDMETHOD(PrefetchTrackDone) (THIS_
UINT16 uGroupIndex,
UINT16 uTrackIndex,
HX_RESULT status) PURE;
};
#endif /*_IHXGROUP_H_*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -