Integration d un fichier video dans une appli C++

Integration d un fichier video dans une appli C++ - C++ - Programmation

Marsh Posté le 14-04-2003 à 16:49:10    

Je cherche a integrer de la video dans un programme en C++ (j'utilise Borland C++ 6.0 sous WinXP) et afficher en avant plan sur la video un point (ou un petit carre) qui bougera en fonction d'un fichier comportant des coordonnees en X-Y a instant donne. Merci de me repondre au plus vite si vous etes dans la mesure de me sauver !!!
 
BeYoMaN

Reply

Marsh Posté le 14-04-2003 à 16:49:10   

Reply

Marsh Posté le 14-04-2003 à 18:06:34    

tu lis ta vidéo avec quelle API ?

Reply

Marsh Posté le 15-04-2003 à 14:47:03    

theShOcKwAvE a écrit :

tu lis ta vidéo avec quelle API ?


 
Quelle API ? Pourrais-tu m'expliquer ce que c'est.... Je ne suis pas une star en programmation malheureusement... Il faut tout m'expliquer, ou presque...

Reply

Marsh Posté le 15-04-2003 à 15:03:42    

API <=> Application Programming Interface ...
 
(et moi, je ne suis pas une star en Borland C++ ... :D)
 
tu as déjà une fenêtre affichée à l'écran (auquel cas, tu devras utiliser la même lib pour lire la vidéo ou une lib compatible) ou alors tu n'as pas encore de partie 'graphique' dans ton appli (auquel cas un vaste choix s'offre à toi ! ;))


---------------
last.fm
Reply

Marsh Posté le 15-04-2003 à 15:12:24    

En fait, je vais t'expliquer ou j'en suis. Donc, comme je t'ai dit, je programme sous Borland C++ Builder 6.0
Pour tout nouveau projet, il y a ce qui s'appelle une 'Form'. C'est la dessus (ou la dedans, comme tu preferes...) que je veux afficher ma video. Jusque la, ca va. J'ai plus ou moins trouver comment integrer la video. Mon probleme est que maintenant, je dois faire afficher un point dont les coordonnees sont stockees dans un fichier. D'une part, je n'arrive pas a faire afficher ce point PAR DESSUS la video (en avant plan) et d'autre part, je n'ai pas trouve comment lire mon fichier contenant les coordonnees... C'est vraiment la misere...

Reply

Marsh Posté le 15-04-2003 à 15:35:58    

okkk ... J'étais mal parti ... Donc tu arrives à lire la vidéo ...
 
Ton problème est donc de faire passer ton point en premier plan .... Ben là, c'est vraiment du builder ... Je suppose que ca doit être pareil qu'en MFC, mais étant donné que je ne connais ni l'un ni l'autre (enfin ... Disons très peu pour le 2ème) je ne m'avancerai pas.
 
Par contre, pour la lecture de fichiers, tu as la méthode C avec la combo 'fopen' et 'fclose' (fscanf pour lire ton fichier), sinon, tu as la méthode C++ via les streams que je ne maîtrise pas trop, je dois bien l'admettre ...
 
Bon ... Je ne pense pas vraiment t'être d'une grande aide ... Reste plus qu'à attendre que quelqu'un qui s'y connaisse dans l'un de ces domaines vienne jeter un oeil...


---------------
last.fm
Reply

Marsh Posté le 15-04-2003 à 15:50:25    

Wai... J'ai deja teste avec fopen et fclose mais ce con de Borland ne veut pas les prendre... Car j'ai quand meme fait un peu de C, mais bon... Merci quand meme !

Reply

Marsh Posté le 15-04-2003 à 16:14:26    

beyoman a écrit :

Wai... J'ai deja teste avec fopen et fclose mais ce con de Borland ne veut pas les prendre... Car j'ai quand meme fait un peu de C, mais bon... Merci quand meme !


Borland n'en veut pas ? :D
 
Tant pis ... Bon courage !


---------------
last.fm
Reply

Marsh Posté le 16-04-2003 à 17:44:17    

un bon livre sur le C++ (voir sur la programmation en général) ne te ferait pas de mal... :o

Reply

Marsh Posté le 16-04-2003 à 20:49:51    

ToxicAvenger a écrit :

un bon livre sur le C++ (voir sur la programmation en général) ne te ferait pas de mal... :o  


 
Je me disais bien que c'était pas tout à fait normal que Borland ne les accepte pas ... J'ai beau ne pas l'utiliser, c'est du C assez 'standard' ... En général, les compilos C++ permettent aussi de faire du C et intègrent donc la plupart des fonctionnalités du C ...
 

Code :
  1. #include <stdio.h>
  2. int main(int argc, char *argv[]) {
  3.   FILE *f = fopen("c:\\toto.txt", "w" );
  4.   fprintf(f, "TOTO RuLeZ" );
  5.   fclose(f);
  6.   return EXIT_SUCCESS;
  7. }


 
Ca, ca devrait fonctionner ...


---------------
last.fm
Reply

Marsh Posté le 16-04-2003 à 20:49:51   

Reply

Marsh Posté le 17-04-2003 à 01:10:58    

Pour dessiner un point directement au dessus de la video, c'est pas évident ...
L'idéal serait de modifier ta vidéo avec un logiciel pour y inclure le point ... mais si ca change a chaque fois, alors ...
Le pblm c'est que ton point va être effacé a chaque nouvelle image de la video.
Tu pourrais peut être utiliser une fenêtre que tu positionnes au dessus (ca devrait pas être la mort a faire : ballader une petite fenêtre en forme de point là où tu veux). Ca fait un peu bidouillage. Ce serait plus propre de subclasser ta fenêtre qui affiche la video, ce qui dans ton cas devrait correspondre à créer ta propre classe qui hérite de la classe qui lit la video. Apres avoir affiché une nouvelle image, tu ajoutes du code pour afficher ton point.
Ce serait le plus "pro", ta classe gérant en même temps la lecture des points depuis le fichier.


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 17-04-2003 à 11:59:20    

Il est certain que cette methode m'a l'air tout a fait convenable meme si assez hasardeuse, mais le probleme est que je ne suis pas capable de faire la moitie de ce dont tu parles !!! Je te rappelle que je suis debutant en C++ (je viens juste de commencer de lire un livre la dessus, peut etre m'aidera-t-il quand je l'aurai fini...) mais la je peux rien faire.  
 
Merci quand meme pour ton aide et si tu as du code tout pres, n'hesite pas a l'envoyer !!!

Reply

Marsh Posté le 17-04-2003 à 21:37:02    

Faut demander à antp, il connait bien la VCL.
Faut hériter la classe que tu utilises pour afficher la video, et surcharger OnDraw ou une fonction au nom similaire pour effectuer ton dessin de point en suivant.
Enfin, je pense que c'est faisable ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 18-04-2003 à 16:31:10    

Ou et comment trouver antp ?

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed