Et encore un nouveau media player (pas trop compliqué et avec plein d'options)! (avec thread+opengl+directdraw...!)

Description

Au menu:
-gestion des couleurs de la vidéo (possibilité d'ajuster le contraste, luminosité, la teinte, les couleurs...)
-possibilité d'inclure des fichiers de sous-titre standards (ex: *.srt)
-gestion du ratio, des symétries de la vidéo, du degré de lissage, de la qualité...
-...

En fait, le lecteur est fonctionnel, mais il lui manque encore quelques fonctionnalités. Par exemple, tout simplement la gestion d'une playlist... Si jamais ça intéresse quelqu'un de l'améliorer, qu'il me contacte! Dites-moi aussi si le lecteur en lui-même vous intéresse, et si vous êtes intéressés pour l'utiliser en tant que lecteur pour windows, alors je m'arrangerai pour le finir. Pour l'instant, l'interface est TRES laide, mais je pourrais éventuellement la rendre skinable...

Source / Exemple :


Donc, comme je le disais, ce programme utilise à la fois DirectDraw (pour construire, à partir des codecs installés sur l'ordinateur, les primitives nécessaire à la lecture d'un fichier vidéo, mpeg, avi, WMV ou même ASF je crois mais il faut vérifier). 
Opengl est utilisé pour effectuer les corrections de couleur, de contraste... ainsi que pour afficher le texte des sous-titres. Je n'arrivais pas à le faire avec les primitives standard graphiques de Windows (c'est à dire avec le TCanvas de Delphi), car Windows a une gestion assez bizarre des palettes de Bitmaps, et je n'ai pas assez de connaissances en DirectX pour le faire par ce biais là...
La boucle d'affichage du film est gèrée par un thread synchronisé.
Enfin, l'architecture du tout est assez modulaire. Par exemple, on peut considérer que les éléments du pagecontrol situé sur la gauche sont des plug-ins, qu'on peut faire évoluer indépendamment les uns des autres. Pour les types de sous-titres reconnus (pour l'instant je n'y ai mis que les 2 principaux), on doit "enregistrer" des classes de sous-titres, qui ont des méthodes de classes (par exemple pour savoir quelles sont les extensions de fichiers correspondantes).

Voilà, je crois que j'ai à peu près tout dit, dès que j'ai le temps, je commence à mettre des commentaires. Et même si vous m'affirmerez le contraire au début, le code n'est pas si compliqué que ça quand on le regarde de plus près. A part pour DirectDraw, bien sûr, mais il suffit de suivre à la lettre les instructions de Microsoft pour arriver à lire un fichier média. D'ailleurs, l'exemple peut servir si l'on veut programmer un objet en 3D avec OpenGl sur lequel on souhaite appliquer une vidéo en texture, le principe est le même.

Conclusion :


Tout est dans le zip!

Ah oui, au fait, j'ai oublié de le mentionner:
les fichiers d'interface pour DirectDraw, DirectX et autres ne sont pas de moi!
D'ailleurs c'est précisé dans les en-tête. Les fichiers qui sont de moi sont tous-ceux où l'auteur n'est pas précisé, il doit y en avoir 4 ou 5 je crois. Et une dernière précision: je doute qu'on puisse compiler ce code avec une version antérieure à Delphi7 :-(
Mais si jamais le lecteur vous intéresse quand même, demandez-moi et je peux vous en envoyer une version précompilée.

Ah, et j'allais oublier:
vive Uma Thurman!

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.