long get_au_len(std::string fname)
{
IGraphBuilder *pGB = NULL;
IMediaPosition *pMP = NULL;
REFTIME m_Total = 0;
CoInitialize(NULL);
CString wFile = convert_string_ex(fname);
HRESULT rets = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGB);
if(FAILED(rets))
return 0x00;
if(FAILED(pGB->RenderFile(wFile, NULL)))
return 0x00;
if(FAILED(pGB->QueryInterface(IID_IMediaPosition, (void **)&pMP)))
{
pGB->Release();
CoUninitialize();
return 0x00;
}
pMP->get_Duration(&m_Total);
pMP->Release();
pGB->Release();
return (long)m_Total;
}
获取音视频文件播放时长
最新推荐文章于 2024-04-06 22:55:47 发布