Bonjour
J'aimerais lire une video MPEG dans une MFC.
Pour cela j'ai choisit les objets COM. Voila ce dont je dispose:
J initie la librairie COM dans: OnInitDialog()
// Initialisation de l'objet COM
HRESULT hr = CoInitialize(NULL);
if (FAILED(hr)) MessageBox("Librairie COM non initialisée");
Voici la creation du graph direct show
BOOL CClientRTP1Dlg::CreateGraph()
{
CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
IID_IGraphBuilder, (void **)&pGraph);
pGraph->QueryInterface(IID_IMediaControl, (void **)&pMediaControl);
pGraph->QueryInterface(IID_IMediaSeeking, (void **)&pSeek);
// Conversion CString -> unsigned short*
USES_CONVERSION;
WCHAR wFile[MAX_PATH];
wcscpy(wFile, T2W(m_chemin));
pGraph->RenderFile(wFile, NULL); // Construction du graph
return TRUE;
}
Dans ma MFC je clique sur un bouton et lance:
void CClientRTP1Dlg::OnBnClickedButton1()
{
if (!CreateGraph()) MessageBox("Problème de construction du graph");
pMediaControl->Run(); // Execution du graph}
}
Mais a ce stade rien ne se passe. Que faire ?