DirectShow COM 接口的封装,用于播放音视频文件. 更多...
#include <IPlayerCore.h>
继承自IMzUnknown。
公有成员 | |
virtual HRESULT | Backward (LONGLONG milliSecond)=0 |
播放时后退一段时间 | |
virtual HRESULT | CaptureThumb (bool bCamere)=0 |
抓预览图 (如果更新录像.要抓二个图片,一个110x105,一个360x360.所以多加一个参数) | |
virtual int | CheckMediaType ()=0 |
检查播放媒体类型 | |
virtual void | Close ()=0 |
关闭媒体播放,释放接口资源 | |
virtual HRESULT | DecreaseVolume (UINT iReduce)=0 |
减少音量(音量范围,从小到大 0-100) | |
virtual void | EnableGetPosTimer (bool enable)=0 |
如果设置为TRUE,应用窗口将可以每秒收到一个TIMER消息,ID为MZ_TIMER_ID_GET_POSITION | |
virtual HRESULT | Forward (LONGLONG milliSecond)=0 |
播放时快进一段时间 | |
virtual HRESULT | GetAudioTrackCount (int &iCount)=0 |
获得媒体文件所包含的音轨的数目 | |
virtual BOOL | GetCurFrame (const wchar_t *pFileName, int iWidth, int iHeight)=0 |
初始化视频播放窗口 | |
virtual HBITMAP | GetCurFrame ()=0 |
获得当前帧位图句柄(已废除) | |
virtual LONGLONG | GetCurPos ()=0 |
获取当前播放媒体位置 | |
virtual PLAYSTATE | GetCurState ()=0 |
获得当前播放状态 | |
virtual void | GetEqParameter (AudioEqualizerPara ¶)=0 |
virtual int | GetEventType ()=0 |
窗口收到 msg消息时(msg是用SetNotify设置的消息类型),用GetEventType获得消息类型 | |
virtual int | GetFrameRate ()=0 |
获得帧速率 | |
virtual LONGLONG | GetLength ()=0 |
获取播放媒体总长度 | |
virtual void | GetSpectrum (AudioSpectrumPara ¶)=0 |
获得正在播放的音频当前时刻的频谱信息 | |
virtual HRESULT | GetVideoSize (long &width, long &height)=0 |
获取视频的尺寸 | |
virtual HRESULT | IncreaseVolume (UINT iIncrease)=0 |
增加音量(音量范围,从小到大 0-100) | |
virtual HRESULT | InitVideoWnd (HWND hWnd, RECT rc)=0 |
初始化视频播放窗口 | |
virtual bool | IsAudioOnly ()=0 |
判断媒体是否只包含音频 | |
virtual BOOL | IsEqEnable ()=0 |
获得是否使用均衡器 | |
virtual BOOL | IsKaraokeEnable ()=0 |
获得是否开启消原音功能 | |
virtual BOOL | IsSpectrumEnable ()=0 |
获得是否使用音频频谱 | |
virtual HRESULT | MaxVolume ()=0 |
声音最大化 | |
virtual HRESULT | MinVolume ()=0 |
声音最小化,相当于禁音 | |
virtual HRESULT | OpenFile (bool needEqualizer=false, bool needSampleGrabber=false)=0 |
使用DirectShow播放媒体文件第一步:初始化DirectShow媒体播放接口 | |
virtual HRESULT | Pause ()=0 |
暂停播放媒体文件 | |
virtual HRESULT | Play ()=0 |
开始播放媒体文件 | |
virtual HRESULT | Replay ()=0 |
使用DirectShow播放媒体文件第三步(可选):反复播放(在第二步的设置的消息响应里调用) | |
virtual void | SeekTo (LONGLONG milliSecond)=0 |
播放进度跳转到某一时间点 | |
virtual HRESULT | SetAudioTrack (int iChannel)=0 |
选择要播放的音轨 | |
virtual void | SetEqEnable (BOOL enable)=0 |
设置是否开启音频均衡器 | |
virtual void | SetEqParameter (const AudioEqualizerPara ¶)=0 |
设置音频均衡器参数 | |
virtual HRESULT | SetFullScreen (HWND hWnd)=0 |
全屏播放 | |
virtual void | SetKaraokeEnable (BOOL enable)=0 |
设置是否开启消原音功能 | |
virtual HRESULT | SetNormalScreen ()=0 |
恢复原始屏幕 | |
virtual HRESULT | SetNotify (HWND hWnd, UINT Msg)=0 |
使用DirectShow播放媒体文件第二步设置接收IPlayerCore通知消息的窗口句柄,及消息值 | |
virtual HRESULT | SetRate (double dRate)=0 |
设置播放速率 | |
virtual void | SetSpectrumEnable (BOOL enable)=0 |
设置是否开启音频频谱功能,如果在OpenFile时没有指定使用均衡器(均衡器和频谱使用的是同一个组件),那么这里的设置是无效的 | |
virtual HRESULT | SetVideoSize (const RECT &rc)=0 |
设置视频画面的位置和尺寸 | |
virtual HRESULT | SetVolume (UINT iVolume)=0 |
设置音量(音量范围,从小到大 0-100) | |
virtual HRESULT | Stop ()=0 |
停止播放媒体文件 | |
virtual HRESULT | WaveOutSendMessage (UINT uMsg, DWORD dw1, DWORD dw2)=0 |
往音频驱动发送消息(方便多个应用同时播放音频时系统的协调) |
DirectShow COM 接口的封装,用于播放音视频文件.
virtual HRESULT IPlayerCore_Play::Backward | ( | LONGLONG | milliSecond | ) | [pure virtual] |
播放时后退一段时间
milliSecond | (in) 媒体需要后退的时间的毫秒数 |
virtual HRESULT IPlayerCore_Play::CaptureThumb | ( | bool | bCamere | ) | [pure virtual] |
抓预览图 (如果更新录像.要抓二个图片,一个110x105,一个360x360.所以多加一个参数)
bCamere | 是否是为录像程序抓预览图 |
virtual int IPlayerCore_Play::CheckMediaType | ( | ) | [pure virtual] |
检查播放媒体类型
virtual void IPlayerCore_Play::Close | ( | ) | [pure virtual] |
关闭媒体播放,释放接口资源
virtual HRESULT IPlayerCore_Play::DecreaseVolume | ( | UINT | iReduce | ) | [pure virtual] |
减少音量(音量范围,从小到大 0-100)
iReduce | 减少的音量量(0-100) |
virtual void IPlayerCore_Play::EnableGetPosTimer | ( | bool | enable | ) | [pure virtual] |
如果设置为TRUE,应用窗口将可以每秒收到一个TIMER消息,ID为MZ_TIMER_ID_GET_POSITION
virtual HRESULT IPlayerCore_Play::Forward | ( | LONGLONG | milliSecond | ) | [pure virtual] |
播放时快进一段时间
milliSecond | (in) 媒体需要快进的时间的毫秒数 |
virtual HRESULT IPlayerCore_Play::GetAudioTrackCount | ( | int & | iCount | ) | [pure virtual] |
获得媒体文件所包含的音轨的数目
iCount | (out) 音轨的数目 |
virtual BOOL IPlayerCore_Play::GetCurFrame | ( | const wchar_t * | pFileName, | |
int | iWidth, | |||
int | iHeight | |||
) | [pure virtual] |
初始化视频播放窗口
pFileName截图要保存到的文件路径 | ||
iWidth | 截图的宽度(目前截图是固定尺寸,此参数无效) | |
iHeight | 截图的高度(目前截图是固定尺寸,此参数无效) |
virtual HBITMAP IPlayerCore_Play::GetCurFrame | ( | ) | [pure virtual] |
获得当前帧位图句柄(已废除)
virtual LONGLONG IPlayerCore_Play::GetCurPos | ( | ) | [pure virtual] |
获取当前播放媒体位置
virtual PLAYSTATE IPlayerCore_Play::GetCurState | ( | ) | [pure virtual] |
获得当前播放状态
virtual void IPlayerCore_Play::GetEqParameter | ( | AudioEqualizerPara & | para | ) | [pure virtual] |
virtual int IPlayerCore_Play::GetEventType | ( | ) | [pure virtual] |
窗口收到 msg消息时(msg是用SetNotify设置的消息类型),用GetEventType获得消息类型
virtual int IPlayerCore_Play::GetFrameRate | ( | ) | [pure virtual] |
获得帧速率
virtual LONGLONG IPlayerCore_Play::GetLength | ( | ) | [pure virtual] |
获取播放媒体总长度
virtual void IPlayerCore_Play::GetSpectrum | ( | AudioSpectrumPara & | para | ) | [pure virtual] |
获得正在播放的音频当前时刻的频谱信息
para | (out) 频谱信息数据 |
virtual HRESULT IPlayerCore_Play::GetVideoSize | ( | long & | width, | |
long & | height | |||
) | [pure virtual] |
获取视频的尺寸
width | (out) 视频宽度 | |
height | (out) 视频高度 |
virtual HRESULT IPlayerCore_Play::IncreaseVolume | ( | UINT | iIncrease | ) | [pure virtual] |
增加音量(音量范围,从小到大 0-100)
iIncrease | 增大的音量量(0-100) |
virtual HRESULT IPlayerCore_Play::InitVideoWnd | ( | HWND | hWnd, | |
RECT | rc | |||
) | [pure virtual] |
初始化视频播放窗口
hWnd | (in) 播放依赖的窗口句柄 | |
rc | 播放的视频窗口位置 |
virtual bool IPlayerCore_Play::IsAudioOnly | ( | ) | [pure virtual] |
判断媒体是否只包含音频
virtual BOOL IPlayerCore_Play::IsEqEnable | ( | ) | [pure virtual] |
获得是否使用均衡器
virtual BOOL IPlayerCore_Play::IsKaraokeEnable | ( | ) | [pure virtual] |
获得是否开启消原音功能
virtual BOOL IPlayerCore_Play::IsSpectrumEnable | ( | ) | [pure virtual] |
获得是否使用音频频谱
virtual HRESULT IPlayerCore_Play::MaxVolume | ( | ) | [pure virtual] |
声音最大化
virtual HRESULT IPlayerCore_Play::MinVolume | ( | ) | [pure virtual] |
声音最小化,相当于禁音
virtual HRESULT IPlayerCore_Play::OpenFile | ( | bool | needEqualizer = false , |
|
bool | needSampleGrabber = false | |||
) | [pure virtual] |
使用DirectShow播放媒体文件第一步:初始化DirectShow媒体播放接口
needEqualizer | 为 TRUE 时,播放该文件时将启用 音效调节组件, 为 FALSE 时,将不使用,以节省播放时所需开销 | |
needSampleGrabber | 为 TRUE 时,文件播放过程中将 允许进行 抓图操作, 为 FALSE 时,调用抓图函数将无效 |
virtual HRESULT IPlayerCore_Play::Pause | ( | ) | [pure virtual] |
暂停播放媒体文件
virtual HRESULT IPlayerCore_Play::Play | ( | ) | [pure virtual] |
开始播放媒体文件
virtual HRESULT IPlayerCore_Play::Replay | ( | ) | [pure virtual] |
使用DirectShow播放媒体文件第三步(可选):反复播放(在第二步的设置的消息响应里调用)
virtual void IPlayerCore_Play::SeekTo | ( | LONGLONG | milliSecond | ) | [pure virtual] |
播放进度跳转到某一时间点
milliSecond | (in) 要跳转到的时间的毫秒数 |
virtual HRESULT IPlayerCore_Play::SetAudioTrack | ( | int | iChannel | ) | [pure virtual] |
选择要播放的音轨
iChannel | 音轨的序号 |
virtual void IPlayerCore_Play::SetEqEnable | ( | BOOL | enable | ) | [pure virtual] |
设置是否开启音频均衡器
enable | TRUE为开启,FALSE为关闭 |
virtual void IPlayerCore_Play::SetEqParameter | ( | const AudioEqualizerPara & | para | ) | [pure virtual] |
设置音频均衡器参数
para | 均衡器参数 |
virtual HRESULT IPlayerCore_Play::SetFullScreen | ( | HWND | hWnd | ) | [pure virtual] |
全屏播放
hWnd | (in) 全屏播放依赖的窗口句柄 |
virtual void IPlayerCore_Play::SetKaraokeEnable | ( | BOOL | enable | ) | [pure virtual] |
设置是否开启消原音功能
virtual HRESULT IPlayerCore_Play::SetNormalScreen | ( | ) | [pure virtual] |
恢复原始屏幕
hWnd | (in) 全屏播放依赖的窗口句柄 |
virtual HRESULT IPlayerCore_Play::SetNotify | ( | HWND | hWnd, | |
UINT | Msg | |||
) | [pure virtual] |
使用DirectShow播放媒体文件第二步设置接收IPlayerCore通知消息的窗口句柄,及消息值
hWnd | 播放的窗口句柄(响应重新播放消息Msg的窗口句柄) | |
Msg | 接收重新播放的消息(用户自定义) |
virtual HRESULT IPlayerCore_Play::SetRate | ( | double | dRate | ) | [pure virtual] |
设置播放速率
dRate | 1: 普通速率 2: 2倍速率 0.5: 1/2倍速率 其余类推 |
virtual void IPlayerCore_Play::SetSpectrumEnable | ( | BOOL | enable | ) | [pure virtual] |
设置是否开启音频频谱功能,如果在OpenFile时没有指定使用均衡器(均衡器和频谱使用的是同一个组件),那么这里的设置是无效的
virtual HRESULT IPlayerCore_Play::SetVideoSize | ( | const RECT & | rc | ) | [pure virtual] |
设置视频画面的位置和尺寸
rc | 视频画面所在的矩形区域 |
virtual HRESULT IPlayerCore_Play::SetVolume | ( | UINT | iVolume | ) | [pure virtual] |
设置音量(音量范围,从小到大 0-100)
iVolume | 音量值 |
virtual HRESULT IPlayerCore_Play::Stop | ( | ) | [pure virtual] |
停止播放媒体文件
virtual HRESULT IPlayerCore_Play::WaveOutSendMessage | ( | UINT | uMsg, | |
DWORD | dw1, | |||
DWORD | dw2 | |||
) | [pure virtual] |
往音频驱动发送消息(方便多个应用同时播放音频时系统的协调)
uMsg | dw1 dw2 消息的类型和参数由音频驱动给出,并由音频驱动来解释 |