IMedia ISource mp3
大家好,
我想用isource方式播放MP3:
ISHELL_CreateInstance(me->piShell, AEECLSID_SOURCEUTIL, &me->piSourceUtil);
ISHELL_CreateInstance(me->piShell, AEECLSID_FILEMGR, &me->piFileMgr);
me->piTest = IFILEMGR_OpenFile(me->piFileMgr, "test.wav", _OFM_READ);
// Create a ISource
ISOURCEUTIL_SourceFromAStream(me->piSourceUtil,(IAStream *)me->piTest,&me->piTestSource);
/* create imedia. */
iRet = ISHELL_CreateInstance(me->piShell,AEECLSID_MEDIAMP3,(void **)&me->piMedia);
/* set media data. */
stMd.dwStructSize = sizeof(AEEMediaDataEx);
stMd.dwCaps = 0;
stMd.bRaw = FALSE;
stMd.dwBufferSize = 0;
stMd.pSpec = NULL;
stMd.dwSpecSize = 0;
stMd.clsData = MMD_ISOURCE;
stMd.pData = (TE_VOID *)me->piTestSource;
stMd.dwSize = 0;
iRet = IMEDIA_SetMediaDataEx(me->piMedia,&stMd,1);
IMEDIA_RegisterNotify(me->piMedia, (PFNMEDIANOTIFY)MediaNotify, me);
IMEDIA_Play(me->piMedia);
模拟器上调试,在MediaNotify内收到如下消息:
MM_STATUS_START
MM_STATUS_MEDIA_SPEC
MM_STATUS_ABORT
请问我的处理是否有问题,谢谢。