pomedeterre
Messages postés4Date d'inscriptionjeudi 19 janvier 2006StatutMembreDernière intervention 8 novembre 2006
-
8 nov. 2006 à 16:26
Cipoli
Messages postés53Date d'inscriptionmercredi 29 août 2007StatutMembreDernière intervention31 mars 2010
-
27 oct. 2008 à 17:20
Bonjour,
Alors voila, j'ai un objet vidéo sur lequel j'ai un évenement ending et le gestionnaire d'évènement qui va avec...
Sauf que ça ne marche pas...
L'évènement n'est jamais rencontré en fait et je ne passe donc jamais dans le magnifique bout de code de mon évènement...
Si ça vous interresse voila un bout de code:
maVideo = new Video(monOpenF.FileName);
maVideo.Ending += new EventHandler(maVideo_Ending);
...
Et plus loin j'ai :
private void maVideo_Ending(object sender, EventArgs e)
{
MessageBox.Show("Vidéo finie!");
}
...
Mais ça passe jamais dedans, l'évènement n'est jaais déclenché
Si vous avez des idées je suis preneur...
Merci à tous.
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 8 nov. 2006 à 21:51
C pas clair ton affaire, d'abord, la classe Video, elle sort d'où, un objet COM encore?
Et juste comme ça, Ending veut dire en train de se terminer, y'aurait pas End tout cours (c juste une idée de même qui me sort).
Donne nous plus de détails
pomedeterre
Messages postés4Date d'inscriptionjeudi 19 janvier 2006StatutMembreDernière intervention 8 novembre 2006 8 nov. 2006 à 22:43
Alors dans l'article en fait, si j'ai bien compris, les évènements ne fonctionnent tout simplement pas...
Par exemple pour remplacer le Stopping, il faut rajouter un timer qui teste régulièrement si la position
courante du fichier (Video.CurrentPosition) est supérieure à la durée effective du fichier(Video.Duration)....
Le code provenant de cet article:
privatevoid videoTimer(object sender, EventArgs e)
{
if (video.CurrentPosition >= video.Duration)
OnVideoEnd(sender, e);
}
Déjà que la position ourante du fichier dépasse sa durée, c'est assez surprenent....
De plus, si j'ai bien compris, le monsieur de l'article déconseille l'utilisation de AudioVideoPlayback,
notamment par le peu de possibilité que cela offre (je m'en étais déjà rendu compte)...
Je pense essayer de trouver quelque chose de mieux par la suite, j'ai envie de pouvoir créer un égaliseur, de pouvoir rajouter des effets, etc, donc AudioVideoPlayback ne va pas me le permettre... Pour info je réalise un lecteur audio/vidéo (du vu et revu je sais mais le mien est bien ). Je pense peut être le partager ici quand il sera fini ...
Bref en attendant je vais essayer ça et vous tiens au courant...
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 9 nov. 2006 à 01:21
Salut,
C'est assez surprenant, ça voudrait dire que la Managed Directx team n'a pas finalisé sa classe.
De toute façon, MDX (managed directx) est intérrompu à sa deuxième version. Maintenant, pour faire un truc aussi poussé que ce que tu veux faire, il faut checker du côté de DirectX natif avec DirectShow ou encore regarder du côté de XNA framework (qui prend le relais de mdx 2.0) http://learnxna.com/files/folders/xnatutorial/entry145.aspx
Ça nous fera plaisir voir ton code source finalisé et posté ici :)
Bonne chance...
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 9 nov. 2006 à 07:03
Salut, XNA c'est surtout pour faire des jeux, on peut pas vraiment dire que ça remplace MDX pour les applications multimedia, du moins pour le moment.
Comme l'a dit Badrbadr, faut regarder du coté de DirectShow, Quartz.dll ( integré dans Windows ), DirectShowNet ( sur CodeProject ), DirectShowLib ( sur SourceForge ).