2009-09-15 8 views
2

Je cherche à créer un simple jeu de "puzzle slider". Vous avez vu les uns, vous avez une image et vous mélangez les carreaux.Lecture vidéo C#

Cependant, je veux en faire un qui va lire des vidéos à la place. Ce que j'essaie de déterminer, c'est s'il est possible de lire une vidéo en C# et de rendre la vidéo sur différents contrôles (probablement des boutons, ou des panneaux). J'ai repéré les classes Microsoft.DirectX.AudioVideoPlayback mais n'ai pas encore trouvé beaucoup de documentation sur eux. Donc, pour le lancer dans les airs, est-ce que ça va être possible de faire sans trop de difficulté? Y a-t-il des bibliothèques utiles (gratuites) qui pourraient m'aider?

+3

Si vous n'êtes pas configuré sur WinForms, cela semble être quelque chose que WPF serait bon. Vous pouvez avoir un pinceau dont le contenu est une vidéo (qui continuera magiquement à jouer partout où vous utilisez le pinceau), et vous pouvez faire des transformations, donc je suppose qu'il ne serait pas trop difficile d'avoir un contrôle rempli d'un rectangle sous-ensemble de la vidéo en cours de lecture. –

Répondre

2

Jetez un oeil à DirectShowNet qui enveloppe l'API DirectShow, dans la page samples il y a un exemple appelé PlayWnd qui montre comment lire un fichier vidéo.

0

En fonction de la taille et de la durée de vos sources vidéo, vous pouvez accomplir cela très simplement en convertissant d'abord vos vidéos en GIF animés. Un contrôle .Net PictureBox affichera et animera automatiquement un GIF, et vous pourriez facilement utiliser des PictureBoxes pour vos tuiles.

Un gros avantage de cette approche est que (grâce à Mono) votre application pourrait fonctionner sans modification sur Windows, Mac et l'iPhone (aussi Linux et quelques autres).

+0

C'est une idée intéressante, mais pas sûre que ce soit faisable. Dépend de la quantité de pré-traitement requis. – Ian

+0

@Ian: en fait, si vous avez l'intention de montrer une seule vidéo divisée en mosaïques mobiles séparées, l'idée GIF ne fonctionnerait pas du tout, car les pièces séparées ne seraient pas synchronisées dans leurs PicturesBoxes (au moins je pense qu'ils ne le feraient pas). – MusiGenesis