949
社区成员
发帖
与我相关
我的任务
分享
int ret = 0;
AEEMediaDataEx md;
IFileMgr* pMgr = NULL;
ISourceUtil* psu = NULL;
pMe->DeviceInfo.wStructSize = sizeof(pMe->DeviceInfo);
ISHELL_GetDeviceInfo(pMe->a.m_pIShell,&pMe->DeviceInfo);
ret = ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_MEDIAMP3, (void**)&pMe->m_pIMedia);
if (SUCCESS != ret)
{
return FALSE;
}
// 设置数据
ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_FILEMGR, (void**)&pMgr);
pMe->m_pIFile = IFILEMGR_OpenFile(pMgr, "test.mp3", _OFM_READ);
IFILEMGR_Release(pMgr);
ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_SOURCEUTIL, (void **)&psu);
ISOURCEUTIL_SourceFromAStream(psu, (IAStream *)pMe->m_pIFile, &pMe->m_pISource);
ISOURCEUTIL_Release(psu);
MEMSET(&md, 0, sizeof(md));
md.clsData = MMD_ISOURCE;
md.pData = (void*)pMe->m_pISource;
md.dwSize = 0;
md.dwStructSize = sizeof(md);
md.dwCaps = 0;
md.bRaw = FALSE;
md.pSpec = NULL;
md.dwSpecSize = 0;
ret = IMedia_SetMediaDataEx(pMe->m_pIMedia, &md, 1);
if (SUCCESS != ret)
{
IMEDIA_Release(pMe->m_pIMedia);
return FALSE;
}