📄 avi_mp3.h
字号:
// Avi_Mp3.h: interface for the CAvi_Mp3 class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_AVI_MP3_H__A227FA67_BE2B_4A08_A939_9FE65996C5F2__INCLUDED_)
#define AFX_AVI_MP3_H__A227FA67_BE2B_4A08_A939_9FE65996C5F2__INCLUDED_
#include <dshow.h>
#include <d3d9.h>
#include <d3dx9.h>
#pragma comment (lib,"dxguid.lib")
#pragma comment (lib,"strmiids.lib")
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CAvi_Mp3
{
protected:
IVideoWindow* m_pVM; //视频流播放窗口
IMediaEvent* m_pEvent;//流媒体触发的事件
int m_Media;
public:
IMediaPosition* m_pMediaPosition;// 视频流播放位置
IMediaControl* m_pMediaControl; // 视频流播放控制器
IGraphBuilder* m_pGraph; //视频流播放图像过滤器
CAvi_Mp3();//传入1or2有效,
void InitMp3();
void InitAvi();
LRESULT PlayInFullScreen(HWND hWnd);//全屏播放,一般用于播放avi。使用时需传入窗口句柄。
LRESULT PlayMedia(const char* szMediaFileName);//确定需要播放的文件。传入字符型路径名。初始化时调用。
LRESULT Pause()//暂停播放,一般用于播放mp3
{
if( m_pMediaControl ) return m_pMediaControl->Pause();
else return E_FAIL;
}
LRESULT AVI_WaitCompletion(long a=INFINITE)//等候响应事件,一般用于播放avi。使用时需传入一个长整形,确定播放停止的时间用毫秒表示。
{
long evCode;
if( m_pEvent )
{
m_pEvent->WaitForCompletion(a,&evCode);
return S_OK;
}
else return E_FAIL;
}
LRESULT Run()//播放流媒体。
{
if( m_pMediaControl ) return m_pMediaControl->Run();
else return E_FAIL;
}
virtual ~CAvi_Mp3();
};
#endif // !defined(AFX_AVI_MP3_H__A227FA67_BE2B_4A08_A939_9FE65996C5F2__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -