static IGraphBuilder *pGB = NULL;
static IMediaControl *pMC = NULL;
static IVideoWindow *pVW = NULL;
static IMediaEvent *pME = NULL;
JIF(CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC,
IID_IGraphBuilder, (void **)&pGB));
// Get interfaces to control playback & screensize
JIF(pGB->QueryInterface(IID_IMediaControl, (void **)&pMC));
JIF(pGB->QueryInterface(IID_IVideoWindow, (void **)&pVW));
// Get interface to allow the app to wait for completion of playback
JIF(pGB->QueryInterface(IID_IMediaEventEx, (void **)&pME));
pGB->RenderFile(wFileName, NULL);
pMC->Pause();
pMC->Run();
g_bContinue = TRUE;
// Enter a loop of checking for events and sampling keyboard i6nput
while (g_bContinue)
{
MSG msg;
long lEventCode, lParam1, lParam2;
// Reset sleep flag
bSleep = TRUE;
// Has there been a media event? Look for end of stream condition.
if(E_ABORT != pME->GetEvent(&lEventCode, (LONG_PTR *) &lParam1,
(LONG_PTR *) &lParam2, 0))
{
// Is this the end of the movie?
if (lEventCode == EC_COMPLETE)
{
g_bContinue = FALSE;
bSleep = FALSE;
}
pME->FreeEventParams(lEventCode, lParam1, lParam2);
}
}
DirectShow - как зациклить видеоролик?
можно ли проресетить граф или как это с ними (с графами делается)?
Код (в общих чертах )
Код:
[COLOR="Red"]
from moderator:
Тегами надо пользоваться!!! [сode] ... текст программы... [/сode]
Первое и последнее предупреждение...
upd: Для служащих бронетанковых войск повторю: слово [COLOR="Black"]code[/COLOR] - пишется аглицкими буковками![/COLOR]
Код:
IMediaSeeking *pMS = NULL;
pMS->SetPositions(&pos, AM_SEEKING_AbsolutePositioning ,
NULL, AM_SEEKING_NoPositioning);
pMS->SetPositions(&pos, AM_SEEKING_AbsolutePositioning ,
NULL, AM_SEEKING_NoPositioning);