?? hxausvc.h
字號:
STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXAudioPushdown methods */ /************************************************************************ * Method: * IHXAudioPushdown::SetAudioPushdown * Purpose: * Use this to set the minimum audio pushdown value in ms. * This is the amount of audio data that is being written * to the audio device before starting playback. */ STDMETHOD(SetAudioPushdown) (THIS_ UINT32 /*IN*/ ulAudioPushdown ) PURE;};/**************************************************************************** * * Interface: * * IHXAudioHookManager * * Purpose: * * This interface can be used to add a hook at the audio device layer. * * IID_IHXAudioHookManager: * * {0000070E-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXAudioHookManager, 0x0000070E, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXAudioHookManagerDECLARE_INTERFACE_(IHXAudioHookManager, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXAudioHookManager methods */ /************************************************************************ * Method: * IHXAudioHookManager::AddHook * Purpose: * Use this to add a hook */ STDMETHOD(AddHook) (THIS_ IHXAudioHook* /*IN*/ pHook ) PURE; /************************************************************************ * Method: * IHXAudioHookManager::RemoveHook * Purpose: * Use this to remove a hook */ STDMETHOD(RemoveHook) (THIS_ IHXAudioHook* /*IN*/ pHook ) PURE;};// $Private:/**************************************************************************** * * Interface: * * IHXMultiPlayPauseSupport * * Purpose: * * This interface can be used to control whether audio services handles multi-player pause / rewind support * * IID_IHXMultiPlayPauseSupport: * * {0000070F-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXMultiPlayPauseSupport, 0x0000070F, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXMultiPlayPauseSupportDECLARE_INTERFACE_(IHXMultiPlayPauseSupport, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXMultiPlayPauseSupport methods */ STDMETHOD_(HXBOOL,GetDisableMultiPlayPauseSupport) (THIS) PURE;};/**************************************************************************** * * Interface: * * IHXAudioDeviceManager2 * * Purpose: * * Audio Device Manager extension * * IID_IHXAudioDeviceManager2: * * {00000710-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXAudioDeviceManager2, 0x00000710, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXAudioDeviceManager2DECLARE_INTERFACE_(IHXAudioDeviceManager2, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXAudioDeviceManager2 methods */ /********************************************************************** * Method: * IHXAudioDeviceManager2::IsReplacedDevice * Purpose: * This is used to determine if the audio device has been replaced. */ STDMETHOD_(HXBOOL, IsReplacedDevice) (THIS) PURE;};/**************************************************************************** * * Interface: * * IHXAudioResampler * * Purpose: * * Audio Resampler * * IID_IHXAudioResampler: * * {00000711-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXAudioResampler, 0x00000711, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXAudioResamplerDECLARE_INTERFACE_(IHXAudioResampler, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXAudioResampler methods */ /********************************************************************** * Method: * IHXAudioResampler::Resample * Purpose: * Will produce 1 output frame for every (upFactor/downFactor) inputs * frames, straddling if not an integer. Works down to 1 sample/call. * * Returns actual number of output frames. ***********************************************************************/ STDMETHOD_(UINT32, Resample) ( THIS_ UINT16* pInput, UINT32 ulInputBytes, UINT16* pOutput) PURE; /********************************************************************** * Method: * IHXAudioResampler::Requires * Purpose: * Returns number of input frames required to produce this number * of output frames, given the current state of the filter. */ STDMETHOD_(UINT32, Requires) ( THIS_ UINT32 ulOutputFrames) PURE;};/**************************************************************************** * * Interface: * * IHXAudioResamplerManager * * Purpose: * * Audio Resampler Manager * * IID_IHXAudioResamplerManager: * * {00000712-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXAudioResamplerManager, 0x00000712, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXAudioResamplerManagerDECLARE_INTERFACE_(IHXAudioResamplerManager, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXAudioResamplerManager methods * */ STDMETHOD(CreateResampler) (THIS_ HXAudioFormat inAudioFormat, REF(HXAudioFormat) outAudioFormat, REF(IHXAudioResampler*) pResampler) PURE;};/**************************************************************************** * * Interface: * * IHXAudioPushdown2 * * Purpose: * * Audio PushDown access methods * * IID_IHXAudioPushdown2: * * {00000713-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXAudioPushdown2, 0x00000713, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXAudioPushdown2DECLARE_INTERFACE_(IHXAudioPushdown2, IHXAudioPushdown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /************************************************************************ * Method: * IHXAudioPushdown::SetAudioPushdown * Purpose: * Use this to set the minimum audio pushdown value in ms. * This is the amount of audio data that is being written * to the audio device before starting playback. */ STDMETHOD(SetAudioPushdown) (THIS_ UINT32 /*IN */ ulAudioPushdown) PURE; /************************************************************************ * Method: * IHXAudioPushdown2::GetAudioPushdown * Purpose: * Use this to get the minimum audio pushdown value in ms. * This is the amount of audio data that is being written * to the audio device before starting playback. */ STDMETHOD(GetAudioPushdown) (THIS_ REF(UINT32) /*OUT*/ ulAudioPushdown) PURE; /************************************************************************ * Method: * IHXAudioPushdown2::GetCurrentAudioDevicePushdown * Purpose: * Use this to get the audio pushed down to the audio device and haven't * been played yet */ STDMETHOD(GetCurrentAudioDevicePushdown) (THIS_ REF(UINT32) /*OUT*/ ulAudioPusheddown) PURE;};/**************************************************************************** * * Interface: * * IHXAudioMultiChannel * * Purpose: * * Multi-channel audio support * * IID_IHXAudioMultiChannel: * * {00000714-0901-11d1-8B06-00A024406D59} * */DEFINE_GUID(IID_IHXAudioMultiChannel, 0x00000714, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);#undef INTERFACE#define INTERFACE IHXAudioMultiChannelDECLARE_INTERFACE_(IHXAudioMultiChannel, IUnknown){ /* * IUnknown methods */ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; /* * IHXAudioMultiChannel methods */ STDMETHOD_(HXBOOL,GetMultiChannelSupport) (THIS) PURE;};// $EndPrivate.#if defined(HELIX_FEATURE_TIMELINE_WATCHER)// Timeline watcher.// {211A3CAE-F1DA-4678-84D5-0F12E7B1D8C6}DEFINE_GUID(IID_IHXTimelineWatcher, 0x211a3cae, 0xf1da, 0x4678, 0x84, 0xd5, 0xf, 0x12, 0xe7, 0xb1, 0xd8, 0xc6);#undef INTERFACE#define INTERFACE IHXTimelineWatcherDECLARE_INTERFACE_(IHXTimelineWatcher, IUnknown){ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; STDMETHOD(OnPause) (THIS) PURE; STDMETHOD(OnResume) (THIS) PURE; STDMETHOD(OnClose) (THIS) PURE; STDMETHOD(OnTimeSync) (THIS_ UINT32 currentTime ) PURE;};// TimelineManager// {9ED91BC3-9E92-46bb-A094-6C8B9416CFB6}DEFINE_GUID(IID_IHXTimelineManager, 0x9ed91bc3, 0x9e92, 0x46bb, 0xa0, 0x94, 0x6c, 0x8b, 0x94, 0x16, 0xcf, 0xb6);#undef INTERFACE#define INTERFACE IHXTimelineManagerDECLARE_INTERFACE_(IHXTimelineManager, IUnknown){ STDMETHOD(QueryInterface) (THIS_ REFIID riid, void** ppvObj) PURE; STDMETHOD_(ULONG32,AddRef) (THIS) PURE; STDMETHOD_(ULONG32,Release) (THIS) PURE; STDMETHOD(AddTimelineWatcher) (THIS_ IHXTimelineWatcher* ) PURE; STDMETHOD(RemoveTimelineWatcher) (THIS_ IHXTimelineWatcher* ) PURE;};#endif /* #if defined(HELIX_FEATURE_TIMELINE_WATCHER) */#endif /* _HXAUSVC_H_ */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -