获取音视频文件播放时长

来源:互联网 发布:淘宝网兼职赚钱 编辑:程序博客网 时间:2024/05/16 01:40
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;}