以下是关于 IMediaPosition 接口的一些基本信息:
#include <Control.h>
// 定义 IMediaPosition 接口的 GUID
// {56A868B2-0AD4-11CE-B03A-0020AF0BA770}
DEFINE_GUID(IID_IMediaPosition,
0x56A868B2, 0x0AD4, 0x11CE, 0xB0, 0x3A, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70);
// IMediaPosition 接口的定义
DECLARE_INTERFACE_(IMediaPosition, IUnknown)
{
// IUnknown 接口的成员函数
STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(THIS) PURE;
STDMETHOD_(ULONG, Release)(THIS) PURE;
// IMediaPosition 接口的成员函数
STDMETHOD(get_Duration)(THIS_ REFTIME *pDuration) PURE;
STDMETHOD(put_CurrentPosition)(THIS_ REFTIME llTime) PURE;
STDMETHOD(get_CurrentPosition)(THIS_ REFTIME *pllTime) PURE;
STDMETHOD(get_StopTime)(THIS_ REFTIME *pTime) PURE;
STDMETHOD(put_StopTime)(THIS_ REFTIME llTime) PURE;
STDMETHOD(get_PrerollTime)(THIS_ REFTIME *pTime) PURE;
STDMETHOD(put_PrerollTime)(THIS_ REFTIME llTime) PURE;
STDMETHOD(put_Rate)(THIS_ double dRate) PURE;
STDMETHOD(get_Rate)(THIS_ double *pdRate) PURE;
STDMETHOD(CanSeekForward)(THIS_ long *pCanSeekForward) PURE;
STDMETHOD(CanSeekBackward)(THIS_ long *pCanSeekBackward) PURE;
};
这段代码展示了 IMediaPosition 接口的定义和相关的一些函数。通过该接口,你可以获取媒体的时长、设置和获取当前播放位置、设置和获取停止时间、设置和获取预加载时间、设置和获取播放速率等操作。这些功能对于实现对媒体播放的精确控制是很有用的。
转载请注明出处:http://www.zyzy.cn/article/detail/25105/Win32 API/Control.h/IMediaPosition