IPlayerCore_Play类参考

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 &para)=0
virtual int GetEventType ()=0
 窗口收到 msg消息时(msg是用SetNotify设置的消息类型),用GetEventType获得消息类型
virtual int GetFrameRate ()=0
 获得帧速率
virtual LONGLONG GetLength ()=0
 获取播放媒体总长度
virtual void GetSpectrum (AudioSpectrumPara &para)=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 &para)=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) 媒体需要后退的时间的毫秒数
返回:
返回S_OK操作成功, 非S_OK操作失败
virtual HRESULT IPlayerCore_Play::CaptureThumb ( bool  bCamere  )  [pure virtual]

抓预览图 (如果更新录像.要抓二个图片,一个110x105,一个360x360.所以多加一个参数)

参数:
bCamere 是否是为录像程序抓预览图
返回:
S_OK成功, 非S_OK失败
virtual int IPlayerCore_Play::CheckMediaType (  )  [pure virtual]

检查播放媒体类型

返回:
返回1表示视频,0表示音频,-1表示未知
virtual void IPlayerCore_Play::Close (  )  [pure virtual]

关闭媒体播放,释放接口资源

virtual HRESULT IPlayerCore_Play::DecreaseVolume ( UINT  iReduce  )  [pure virtual]

减少音量(音量范围,从小到大 0-100)

参数:
iReduce 减少的音量量(0-100)
返回:
返回E_FAIL 出现设备错误, S_OK 设置成功, E_INVALIDARG 设置超过范围
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) 媒体需要快进的时间的毫秒数
返回:
返回S_OK操作成功, 非S_OK操作失败
virtual HRESULT IPlayerCore_Play::GetAudioTrackCount ( int &  iCount  )  [pure virtual]

获得媒体文件所包含的音轨的数目

参数:
iCount (out) 音轨的数目
返回:
S_OK成功, 非S_OK失败
virtual BOOL IPlayerCore_Play::GetCurFrame ( const wchar_t *  pFileName,
int  iWidth,
int  iHeight 
) [pure virtual]

初始化视频播放窗口

参数:
pFileName截图要保存到的文件路径 
iWidth 截图的宽度(目前截图是固定尺寸,此参数无效)
iHeight 截图的高度(目前截图是固定尺寸,此参数无效)
返回:
TRUE成功, FALSE失败
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) 视频高度
返回:
返回S_OK获取成功,非S_OK获取失败
virtual HRESULT IPlayerCore_Play::IncreaseVolume ( UINT  iIncrease  )  [pure virtual]

增加音量(音量范围,从小到大 0-100)

参数:
iIncrease 增大的音量量(0-100)
返回:
返回E_FAIL 出现设备错误, S_OK 设置成功, E_INVALIDARG 设置超过范围
virtual HRESULT IPlayerCore_Play::InitVideoWnd ( HWND  hWnd,
RECT  rc 
) [pure virtual]

初始化视频播放窗口

参数:
hWnd (in) 播放依赖的窗口句柄
rc 播放的视频窗口位置
返回:
S_OK 成功初始化视频窗口 非S_OK 视频窗口初始化失败
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]

声音最大化

返回:
返回E_FAIL 出现设备错误, S_OK 设置成功, E_INVALIDARG 设置超过范围
virtual HRESULT IPlayerCore_Play::MinVolume (  )  [pure virtual]

声音最小化,相当于禁音

返回:
返回E_FAIL 出现设备错误, S_OK 设置成功, E_INVALIDARG 设置超过范围
virtual HRESULT IPlayerCore_Play::OpenFile ( bool  needEqualizer = false,
bool  needSampleGrabber = false 
) [pure virtual]

使用DirectShow播放媒体文件第一步:初始化DirectShow媒体播放接口

参数:
needEqualizer 为 TRUE 时,播放该文件时将启用 音效调节组件, 为 FALSE 时,将不使用,以节省播放时所需开销
needSampleGrabber 为 TRUE 时,文件播放过程中将 允许进行 抓图操作, 为 FALSE 时,调用抓图函数将无效
返回:
返回S_OK初始化成功, 非S_OK则初始化失败,无法播放此文件
前置条件:
要打开的文件是通过组件的IMzSysFile接口的SetName方法设置
virtual HRESULT IPlayerCore_Play::Pause (  )  [pure virtual]

暂停播放媒体文件

返回:
返回S_OK成功暂停播放,非S_OK暂停播放失败
virtual HRESULT IPlayerCore_Play::Play (  )  [pure virtual]

开始播放媒体文件

返回:
返回S_OK成功开始播放,非S_OK无法开始播放
virtual HRESULT IPlayerCore_Play::Replay (  )  [pure virtual]

使用DirectShow播放媒体文件第三步(可选):反复播放(在第二步的设置的消息响应里调用)

返回:
返回S_OK开始重复播放, 非S_OK无法开始重复播放
virtual void IPlayerCore_Play::SeekTo ( LONGLONG  milliSecond  )  [pure virtual]

播放进度跳转到某一时间点

参数:
milliSecond (in) 要跳转到的时间的毫秒数
virtual HRESULT IPlayerCore_Play::SetAudioTrack ( int  iChannel  )  [pure virtual]

选择要播放的音轨

参数:
iChannel 音轨的序号
返回:
S_OK成功, 非S_OK失败
virtual void IPlayerCore_Play::SetEqEnable ( BOOL  enable  )  [pure virtual]

设置是否开启音频均衡器

参数:
enable TRUE为开启,FALSE为关闭
前置条件:
如果在OpenFile时没有指定使用均衡器,那么这里的设置是无效的
virtual void IPlayerCore_Play::SetEqParameter ( const AudioEqualizerPara para  )  [pure virtual]

设置音频均衡器参数

参数:
para 均衡器参数
前置条件:
如果在OpenFile时没有指定使用均衡器,那么这里的设置是无效的
virtual HRESULT IPlayerCore_Play::SetFullScreen ( HWND  hWnd  )  [pure virtual]

全屏播放

参数:
hWnd (in) 全屏播放依赖的窗口句柄
返回:
返回E_NOTIMPL 此媒体文件不支持全屏,无法全屏幕 返回NOERROR 支持全屏 S_FALSE 无法全屏播放(窗口句柄无效、无法暂停或开始播放、当前已为全屏状态)
virtual void IPlayerCore_Play::SetKaraokeEnable ( BOOL  enable  )  [pure virtual]

设置是否开启消原音功能

virtual HRESULT IPlayerCore_Play::SetNormalScreen (  )  [pure virtual]

恢复原始屏幕

参数:
hWnd (in) 全屏播放依赖的窗口句柄
返回:
E_NOTIMPL 无法恢复原始屏幕 NOERROR 成功恢复原始屏幕
前置条件:
需重新调用InitVideoWnd初始化视频播放窗口
virtual HRESULT IPlayerCore_Play::SetNotify ( HWND  hWnd,
UINT  Msg 
) [pure virtual]

使用DirectShow播放媒体文件第二步设置接收IPlayerCore通知消息的窗口句柄,及消息值

参数:
hWnd 播放的窗口句柄(响应重新播放消息Msg的窗口句柄)
Msg 接收重新播放的消息(用户自定义)
返回:
返回S_OK设置成功, 非S_OK设置失败
virtual HRESULT IPlayerCore_Play::SetRate ( double  dRate  )  [pure virtual]

设置播放速率

参数:
dRate 1: 普通速率 2: 2倍速率 0.5: 1/2倍速率 其余类推
返回:
S_OK 成功设置 E_INVALIDARG 设置超出范围 其他 设置失败
virtual void IPlayerCore_Play::SetSpectrumEnable ( BOOL  enable  )  [pure virtual]

设置是否开启音频频谱功能,如果在OpenFile时没有指定使用均衡器(均衡器和频谱使用的是同一个组件),那么这里的设置是无效的

virtual HRESULT IPlayerCore_Play::SetVideoSize ( const RECT &  rc  )  [pure virtual]

设置视频画面的位置和尺寸

参数:
rc 视频画面所在的矩形区域
返回:
S_OK成功, 非S_OK失败
virtual HRESULT IPlayerCore_Play::SetVolume ( UINT  iVolume  )  [pure virtual]

设置音量(音量范围,从小到大 0-100)

参数:
iVolume 音量值
返回:
返回E_FAIL 出现设备错误, S_OK 设置成功, E_INVALIDARG 设置超过范围
virtual HRESULT IPlayerCore_Play::Stop (  )  [pure virtual]

停止播放媒体文件

返回:
返回S_OK成功停止播放,非S_OK停止播放失败
virtual HRESULT IPlayerCore_Play::WaveOutSendMessage ( UINT  uMsg,
DWORD  dw1,
DWORD  dw2 
) [pure virtual]

往音频驱动发送消息(方便多个应用同时播放音频时系统的协调)

参数:
uMsg dw1 dw2 消息的类型和参数由音频驱动给出,并由音频驱动来解释
返回:
S_OK成功, 非S_OK失败

该类的文档由以下文件生成:

Generated at Tue Feb 9 15:09:58 2010 for Meizu M8 SDK Documentation by  doxygen 1.6.1