怎么用DIRECTSHOW函数取得视频长度并赋予滑块上
如何用DIRECTSHOW函数取得视频长度并赋予滑块上 - C++ Builder / Windows SDK/API
一般视频播放器都有一个可以用鼠标拖动的滑块的,我虽然实现了播放的办法,但是不知道怎么得到视频文件长度(最大总时间)
所以无法给滑块控件(TrackBar1)赋值,而实现拖动效果
还有一个奇怪的问题,就是我无论把代码摆到哪,都不能产生公共函数.
比如下面的这函数....
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IGraphBuilder *pGraph;
IMediaControl *pMC;
IMediaEvent *pEv;
IMediaSeeking *pSm;
IMediaPosition *pPo;
IVideoWindow *pVW = NULL;
IBasicAudio *pBA = NULL;
IBasicVideo *pBV = NULL;
CoInitialize(NULL);
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
+++++++++++++++++++++++++++++++++++++++++
我必须在按扭控件区,播放菜单,暂停菜单,停止菜单等地方都放上这个定义,否则编译通不过, 有什么办法解决
------解决方案--------------------
看看norains大侠写的,或许对你有帮助
http://blog.****.net/norains/archive/2007/07/27/1712083.aspx
一般视频播放器都有一个可以用鼠标拖动的滑块的,我虽然实现了播放的办法,但是不知道怎么得到视频文件长度(最大总时间)
所以无法给滑块控件(TrackBar1)赋值,而实现拖动效果
还有一个奇怪的问题,就是我无论把代码摆到哪,都不能产生公共函数.
比如下面的这函数....
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
IGraphBuilder *pGraph;
IMediaControl *pMC;
IMediaEvent *pEv;
IMediaSeeking *pSm;
IMediaPosition *pPo;
IVideoWindow *pVW = NULL;
IBasicAudio *pBA = NULL;
IBasicVideo *pBV = NULL;
CoInitialize(NULL);
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);
+++++++++++++++++++++++++++++++++++++++++
我必须在按扭控件区,播放菜单,暂停菜单,停止菜单等地方都放上这个定义,否则编译通不过, 有什么办法解决
------解决方案--------------------
看看norains大侠写的,或许对你有帮助
http://blog.****.net/norains/archive/2007/07/27/1712083.aspx