Bonjour, je programme en c++ avec le logiciel c++ builder , et je voudrai savoir comment on fait pour insérer une vidéo .
Merci
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)
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
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
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
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
« Aucun homme ne peut rien vous révéler sinon ce qui repose déjà à demi endormi dans l'aube de votre connaissance»
« No man can reveal to you aught but that which already lies half asleep in the dawning of your knowledge »_(¯`·.__-Alg3ri4nH4ck3r-__.·´¯)_
Tu devrais alors commencer par les bases de la VCL, les cours Delphi ou C++Builder te serviront
pense à la touche 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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 void __fastcall ...KeyDown(TObject *Sender, WORD &Key, TShiftState Shift); { ModalResult = mrCancel; // Fermera la modale }
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 FWindowsMediaPlayer = new TWindowsMediaPlayer(this); FWindowsMediaPlayer->Align = alClient; FWindowsMediaPlayer->Parent = PanelAVI; FWindowsMediaPlayer->Visible = true; FWindowsMediaPlayer->URL = OpenDialogAVI->FileName;
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
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
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager