|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
ET ENCORE UN NOUVEAU MEDIA PLAYER (PAS TROP COMPLIQUÉ ET AVEC PLEIN D'OPTIONS)! (AVEC THREAD+OPENGL+DIRECTDRAW...!)
Information sur la source
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
- 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.
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!
Fichier Zip
Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
Télécharger le zip
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Comparez les prix Nouvelle version
|