Forum Clubic

[C++]lecteur video de deux fichier

Bonjour tout le monde,

Actuellement ,je developpe un lecteur video en C++.
Ce lecteur devra etre capable de lire a la suite deux fichiers videos.

Donc pour effectuer cela il doit commencer la lecture de la deuxieme video cas la fin de la premiere.

Mais je ne sais pas comment on fait pour savoir que la premiere video et fini.

Je me sert des fonction MCI.

Merci a tous.

Pour l’instant j’ai fait cela


 
MCIWndPlay(m_fenetre);	//lancement de la lecture de la 1er video
 
int pos =MCIWndGetPosition(m_fenetre); 
int nb = MCIWndGetLength(m_fenetre);
while(pos<nb)
{
pos =MCIWndGetPosition(m_fenetre); 
}
 
//ouverture et lancement de la lecture de la 2ieme video
MCIWndOpen(m_fenetre,"C:\\...\\video2.avi",0);
MCIWndPlay(m_fenetre);
 

Mais il y a un probleme. Le programme ne lit pas la 1er video en entier et il affiche un blanc de 3 a 4 seconde (qui correspond au temps non afficher de la 1er video )

Merci
si quelqu’un connait une maniere plus simple et qui fonctionne sa m’aiderait beaucoup.

Je n’y connais rien en c++ mais j’ai quand meme une question : existe t il des ‘écouteurs’ sur les objets que tu utilises?
Je pose cette question pour faire un parallele avec un prog java que j’ai réalisé. Dans ce prog je pouvais rajouter un écouteur qui me permettait de connitre l’état de la lecture d’une vidéo. Du style, le temps restant, la durée totale, si la vidéo est en pause ou bien si elle est terminée.

Bin c’est que je cherche.

Je sais comment avoir la durée total de la video ou le nombre de frames.

Mais ce que je n’arrive pas a faire c’est savoir si elle est terminé, enfin connaitre le status de la video.

si tu connais sa durée et à condition qu’elle ne soit jamais arrêtée en cours de lecture, tu peux créer un thread qui attend le temps de la lecture et qui s’active ensuite pour envoyer un signal quelconque. (ruse de sioux)

pas d’idée seulement un lien qui peut t’aider : http://www.cppfrance.com/codes/CLASSE-CLECTEUR_37476.aspx

Ton problème n’en est pas un car il vient de la façon dont tu codes ton player vidéo : tu utilises les MCI et c’est une API de très haut niveau qui ne propose pas grand chose.
Si tu veux faire un player video, il faut passer par DirectShow, bien plus efficace/flexible une fois compris les filtres/pins.