Bonjour, je programme en c++ avec le logiciel c++ builder , et je voudrai savoir comment on fait pour ins�rer une vid�o .
Merci
Version imprimable
Bonjour, je programme en c++ avec le logiciel c++ builder , et je voudrai savoir comment on fait pour ins�rer une vid�o .
Merci
tu as deux composants
TMediaPlayer inclu dans Delphi
TWindowsMediaPlayer que l'on peut importer comme ActiveX
Tu peux lancer des fichiers AVI dont le RIFF H.264 si les codecs DivX sont install�s : AVI RIFF File Reference (Windows)
Tu peux aussi faire un ShellExecute pour lancer un lecture externe
Si ta video est un flux, tu as player comme RealPlay, FlashPlayer con�u comme plugin � un navigateur comme Internet Explorer, faudrait voir si l'on peut les importer comme ActiveX eux aussi (ou simple TLB)
Merci de ta r�ponse mais au faite je cr�er un jeu et je voudrai mettre au d�marrage une vid�o et lorsque qu'on appuie sur une touche on passe la vid�o
Fait une fen�tre Modal,
Si tu veux un speudo plein �cran, BorderStyle bsNone, Align alClient ...
Utilise un TMediaPlayer, la zone visulatiion peut-�tre un Panel (peut-�tre m�me directement la TForm)
Il te suffit de mettre un OnKeyDown qui appel Close, cela fermera la fen�tre et donc lib�rera la vid�o
un Close aussi dans un �v�nement du TMediaPlayer qui doit indiquer la fin de lecture
il n'y a rien de complexe
Merci beaucoup mais je suis novice avec ce logiciel donc je ne comprend pas vraiment ..
lorsque je prend le composant TmediaPlayer je me retrouve avec un objet ou il y a un bouton play pause etc...
OnKeyDown sert � v�rifier si on appuie sur un bouton ?
oui
Tu devrais alors commencer par les bases de la VCL, les cours Delphi ou C++Builder te serviront
pense � la touche F1
:f1:
Oui, lui il faudra le cacher, Visible � false, tu feras le pilotage par code
Apr�s, il faut affecter TMediaPlayer->FileName et faire un TMediaPlayer->Open()La propri�t� TMediaPlayer->Display devra comme je mentionnais utiliser un TPanel, c'est ce dernier qui sera utilis� comme zone d'affichage !
Tu pourras affecter TMediaPlayer->DisplayRect au besoin, la valeur par d�faut va prendre la surface enti�re
La M�thode TMediaPlayer->Play() commencer la lecture
Sur le Panel, va te permettre de choper une touche
Pense qu'en ShowModal, la Touche Echap est g�r�e par d�faut mais souvent on utilise Space pour passer la vid�o d'intro d'un jeu, donc tu devras ajouter le code n�cessaire sur VK_SPACE (on trouve du code partout � ce sujet) ou alors n'importe qu'elle touche et ceci suffira
Code:
1
2
3
4 void __fastcall ...KeyDown(TObject *Sender, WORD &Key, TShiftState Shift); { ModalResult = mrCancel; // Fermera la modale }
Bonjour, alors j'ai essay� avec mediaplayer mais j'ai vue que �a ne fonctionnai pas avec des video mp4... j'ai juste essayer avec une musique en .wav ..
apres pour l'histoire de de l'appuie sur une touche je n'arrive pas a le faire fonctionner j'ai mis dans le TForm dans l'evenement KeyDown
Image66->Visible=false;
mais rien ne ce passe .
Bien souvent, un OnKeyDown n'arrive jamais jusqu'� la TForm, il est captur� par les TEdit ou autres contr�les pr�sent
La propri�t� KeyPreview de la TForm permet de g�rer cela !
Image66, j'esp�re que c'est juste pour du test, comment comptes-tu t'y retrouver si tu ne nommes pas correctement tes objets !
Pour le MP4, je ne sais pas, pour le AVI RIFF H.264 si le codec (DivX) est install� le Media Player de windows peut le lire, il faut utiliser l'ActiveX TWindowMediaPlayer (C:\Windows\System32\wmp.dll) et non le composant TMediaPlayer, ce n'est pas le m�me du tout !
Il suffit d'importer l'ActiveX, tu ajoutes l'unit� � ton projet, inutile de faire un package
Ensuite, il y a tout un tas de propri�t� que tu peux utiliser, si tu souhaites masquer les menus ...Code:
1
2
3
4
5 FWindowsMediaPlayer = new TWindowsMediaPlayer(this); FWindowsMediaPlayer->Align = alClient; FWindowsMediaPlayer->Parent = PanelAVI; FWindowsMediaPlayer->Visible = true; FWindowsMediaPlayer->URL = OpenDialogAVI->FileName;
Merci la vid�o fonctionne , mais le probl�me c'est qu'il y a toujours le lecteur (ou il y a Play pause etc) et moi je veux seulement avoir la vid�o , et aussi je voudrai quelle ce lance au lancement du programme (la je l'ai fait lorsque l'on appuie sur un bouton pour essay�) .
pour KeyPreview je ne le trouve pas , j'ai r�ussi a mettre l'image invisible mais pour cela faut que je soi sur le Tform or l'image prend tout l'�cran du programme donc je n'ai pas acc�s au Tform
Comme le disais :
Je n'ai pas cherch� � les retirer, je te laisse fouiller un peu le fichier OCX.H et TLB.H, ils sont riche en fonctionnalit� avec presque 200 classes
Cherche encore VCL.TForm.KeyPreview
Tu sembles tr�s confus, comment pourrait-on ne pas avoir acc�s � ses propres objets !
Que vient faire ce TImage ?
En plus tu es libre de jouer avec Align alNone\alClient
Pour un jeu, mieux vaut utiliser une TPaintBox qu'un TImage pour le dessin du jeu !
La TPaintBox utilisant un triplebuffer TBitmap et un thread qui rempli l'un des 3 TBitmap � tour de r�le, on a �voqu� cela souvent sur le forum sur les techniques d'optimisation graphique dans un jeu
Utilise une fen�tre qui ne contient UNIQUEMENT le WMP, isole ton code, �vite de tout mettre dans une seule fen�tre
Dans la boucle Main, il y a CreateForm et Run, il te faut jouer avec cela, ta vid�o d'intro c'est juste un SplashScreen ! il y a plein d'exemple � ce sujet