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 !

Sujet : Inclure un graph sous delphi?? [ Mutimédia / Image & Vidéo ] (bm3w325i)

samedi 12 août 2006 à 21:15:27 | Inclure un graph sous delphi??

bm3w325i

Bonjours, je viens de me lancer dans delphi car j ai besoin d utiliser un media palyer pour diffuser la video par la sortie video de ma carte de decompression. Avec graphedit je suis parvenu a faire mon graph, cependant je ne sait pas comment inclure mon graph a mon player, jai lu un tutorial sur se sujet ( [ Lien ] ) mais cela reste un peu difficile pour moi en tant que newbie.
si vous pouvez m aider merci.

voici mon code source du lecteur media:

CODE
unit Unit1;

{-----------------------------------------------------------------------------}
interface

{-----------------------------------------------------------------------------}
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DSPack, StdCtrls, Buttons, ComCtrls, Menus;

{-----------------------------------------------------------------------------}
type
  TForm1 = class(TForm)
    playBtn: TBitBtn;
    stopBtn: TBitBtn;
    pauseBtn: TBitBtn;
    FilterGraph1: TFilterGraph;
    BitBtn4: TBitBtn;
    DSVideoWindowEx21: TDSVideoWindowEx2;
    DSTrackBar1: TDSTrackBar;
    PopupMenu1: TPopupMenu;
    Play1: TMenuItem;
    Pause1: TMenuItem;
    Stop1: TMenuItem;
    Quitter1: TMenuItem;
    FullScreen1: TMenuItem;
    OpenDialog1: TOpenDialog;
    OuvrirBtn: TBitBtn;
    tbVolume: TTrackBar;
    MainMenu1: TMainMenu;
    Fichier1: TMenuItem;
    Edition1: TMenuItem;
    Affichage1: TMenuItem;
    Outils1: TMenuItem;
    Ouvrir1: TMenuItem;
    Quitter2: TMenuItem;
    corp1: TMenuItem;
    LetterBox1: TMenuItem;
    Streched1: TMenuItem;
    ColorControl1: TMenuItem;
    btnFullScreen: TBitBtn;

    procedure up(Sender: TObject);
    procedure Down(Sender: TObject);
    procedure btnFullScreenClick(Sender: TObject);
    procedure Streched1Click(Sender: TObject);
    procedure LetterBox1Click(Sender: TObject);
    procedure corp1Click(Sender: TObject);
    procedure tbVolumeChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure OuvrirBtnClick(Sender: TObject);
    procedure DSVideoWindowEx21Click(Sender: TObject);
    procedure Quitter1Click(Sender: TObject);
    procedure Stop1Click(Sender: TObject);
    procedure Pause1Click(Sender: TObject);

    procedure FullScreen1Click(Sender: TObject);
    procedure playBtnClick(Sender: TObject);
   
    procedure pauseBtnClick(Sender: TObject);
    procedure stopBtnClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

{-----------------------------------------------------------------------------}
var
   Form1: TForm1;
   Fichier:string;

{-----------------------------------------------------------------------------}
implementation

{$R *.dfm}

{-----------------------------------------------------------------------------}
procedure TForm1.FormCreate(Sender: TObject);
begin
  tbVolume.Position := 3000;
tbVolume.SelEnd := tbVolume.Position;
filterGraph1.Volume := tbVolume.Position;
end;

{-----------------------------------------------------------------------------}
procedure TForm1.playBtnClick(Sender: TObject);
begin
if not filtergraph1.active then begin
  filtergraph1.active:=true;
  filtergraph1.RenderFile(fichier);
end;
if not filtergraph1.active then begin
filtergraph1.active:=true;
filtergraph1.RenderFile(fichier);

end;
filtergraph1.Play;
end;

{-----------------------------------------------------------------------------}
procedure TForm1.pauseBtnClick(Sender: TObject);
begin
filtergraph1.Pause;
end;

{-----------------------------------------------------------------------------}
procedure TForm1.stopBtnClick(Sender: TObject);
begin
filtergraph1.Stop;
filtergraph1.Active:=false;;
end;

{-----------------------------------------------------------------------------}
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
filtergraph1.cleargraph;
filtergraph1.active:=false;
end;

{-----------------------------------------------------------------------------}


procedure TForm1.Pause1Click(Sender: TObject);
begin
 filtergraph1.Pause
end;
{-----------------------------------------------------------------------------}
procedure TForm1.Stop1Click(Sender: TObject);
begin
 filtergraph1.Stop;
filtergraph1.Active:=false;
end;
 {-----------------------------------------------------------------------------}
procedure TForm1.Quitter1Click(Sender: TObject);
begin
close;
end;
 {-----------------------------------------------------------------------------}
procedure TForm1.DSVideoWindowEx21Click(Sender: TObject);
begin
  If DSVideoWindowEx21.FullScreen then
  begin
    DSVideoWindowEx21.FullScreenTopMost := False;
    DSVideoWindowEX21.SetBounds(0,0,337, 225);

    DSVideoWindowEx21.NormalPlayback;
    end
  else        
  begin
      DSVideoWindowEx21.FullScreenTopMost := True;
      DSVideoWindowEX21.SetBounds(0,0,Screen.Width, Screen.Height);
      DSVideoWindowEx21.StartFullScreen;

  end;
end;
 {-----------------------------------------------------------------------------}

procedure TForm1.OuvrirBtnClick(Sender: TObject);
begin
// Attention: prévoir une gestion des erreurs
 if opendialog1.execute then begin
      stopBtnclick(sender);
      fichier:=opendialog1.filename;
      playBtnClick(sender);
      pauseBtnClick(sender);
 end;//if opendialog1

end;

 {-----------------------------------------------------------------------------}

procedure TForm1.tbVolumeChange(Sender: TObject);
begin
tbVolume.SelEnd := tbVolume.Position;
if FilterGraph1.Active then
FilterGraph1.Volume := tbVolume.Position;
end;
 {-----------------------------------------------------------------------------}
procedure TForm1.corp1Click(Sender: TObject);
begin
  DSVideoWindowEx21.AspectRatio := rmCrop;
end;
 {-----------------------------------------------------------------------------}
procedure TForm1.LetterBox1Click(Sender: TObject);
begin
 DSVideoWindowEx21.AspectRatio := rmLetterBox;
end;
 {-----------------------------------------------------------------------------}
procedure TForm1.Streched1Click(Sender: TObject);
begin
 DSVideoWindowEx21.AspectRatio := rmStretched;
end;
 {-----------------------------------------------------------------------------}
procedure TForm1.btnFullScreenClick(Sender: TObject);
begin
 If DSVideoWindowEx21.FullScreen then
  begin
    DSVideoWindowEx21.FullScreenTopMost := False;
    DSVideoWindowEX21.SetBounds(0,0,337, 225);

    DSVideoWindowEx21.NormalPlayback;
    end
  else
  begin
      DSVideoWindowEx21.FullScreenTopMost := True;
      DSVideoWindowEX21.SetBounds(0,0,Screen.Width, Screen.Height);
      DSVideoWindowEx21.StartFullScreen;

  end;

end;
{-----------------------------------------------------------------------------}
procedure TForm1.Down(Sender: TObject);
begin
DSVideoWindowEx21.FullScreenTopMost := True
end;
 {-----------------------------------------------------------------------------}
procedure TForm1.up(Sender: TObject);
begin
DSVideoWindowEx21.FullScreenTopMost := False;
end;
 {-----------------------------------------------------------------------------}
procedure TForm1.FullScreen1Click(Sender: TObject);
begin
 If DSVideoWindowEx21.FullScreen then
  begin
    DSVideoWindowEx21.FullScreenTopMost := False;
    DSVideoWindowEX21.SetBounds(0,0,337, 225);

    DSVideoWindowEx21.NormalPlayback;
    end
  else
  begin
      DSVideoWindowEx21.FullScreenTopMost := True;
      DSVideoWindowEX21.SetBounds(0,0,Screen.Width, Screen.Height);
      DSVideoWindowEx21.StartFullScreen;

  end;


end;


end.


dimanche 13 août 2006 à 00:05:39 | Re : Inclure un graph sous delphi??

bm3w325i


salut j ai un peu avancer et la j aurais surtout besoin de savoir comment on connect des pin sous delphi.

voila j aimerai si possible avoir acces a un tutoriel qui explique comment relier les pin des filtres entre elles et au finale lier ce module a mon media player, car les tuto que je trouve font surtout reference a la conversion de format de fichier et je n arrive pas a comprendre l ensemble des données d autant que plusieurs me sont inutiles.
merci

a l heure actuel j en suis la:
creation d un data modul constitué de:
1-TFiltergraph
2-des Tfilter au nomdre de 7 pour mes filtres directshow

ps: les filtres que j utilise sont:
>divxdecoder>MPEG2videoencoder
sourceasync>avisplitter> >H+render
>MpegLayer3>MPEG2audioencoder

dimanche 13 août 2006 à 17:36:14 | Re : Inclure un graph sous delphi??

bm3w325i

salut pour la connexion je me suis debrouiller mais le point le plus important et je bug vraiement c est comment dire au media player de charger ce graph? qu elle est donc la commande et ou la placée svp??

lundi 14 août 2006 à 05:17:43 | Re : Inclure un graph sous delphi??

bm3w325i

Salut j ai bien avance et j ai changé de code si quelqu un pense etre capable de m aide ca serai bien car y pas beaucoup de reponse helas.
Mon nouveau code a tete concu sur la vase du code du addfilters.exe j arrive presque a faire mon graph avec mais le final ne passe pas.
Si quelqu un est dispo je lui transmettrai le graph je pense que je connect mal les XForm pin, car je les connecet comme des pins normal sans inclure l appelation XForm.



Cette discussion est classé dans : end, sender, procedure, tobject, dsvideowindowex21


Répondre à ce message

Sujets en rapport avec ce message

"Incompatible types :''Cardinal' and 'String' " [ par Don0Choa ] Bonjour, je fais un petit prog permettant de fair des boite de dialogue en séléctionnant les bouttons, icones etc...Mais voila j'ai une erreur comem d pb a creer un exe avec la principal form invisible [ par Winniez ] J'ai voulu au demarrage de exe afficher une autre form que la form principal. a l'execution sa me met une erreur, apres g mis le meme code dans un bou Newbie & TCPI/IP [ par Megafan ] Bonjour je suis complétement débutant en delphi, par contre je suis pas mauvais en VB.Pourquoi je change allez vous dire ?Parce que VB ne tourne pas s probleme avec sockets [ par PsyClown44 ] Salut!J'ai un prob avec le composant TClientSocket : je n'arrive pas a recevoir de paquets lors d'une connexion!Voila le code:unit Unit1;interfaceuses Réccupérer des données sur un autre Unit [ par m_cyril1 ] J'ai fait un petit programme, celui-ci mémorise des chiffres entier sur une première form et sur la deuxième le résultat de la somme des chiffres s'af probleme de click entre un temps [ par maxioutils ] Voila le code presque complet :unit Unit6; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtr envoyé donnés au port usb [ par didi59650 ] Voila j'ai fait un programme qui fonctionne tres bien (stage). La liaison entre mon appareil de mesure et le PC est faite par le port serie. j'ai du c Filtrer les données de DBGrid à partir de ADOQuery [ par Cobuce ] Salut,J'execute un module pour filtrer un DBGrid sur ADOQuery.  En fait j'ai deux problème :1. Utiliser le Filter à partir de RzEdit et garder juste l Récupération d'une valeur [ par ouaich85 ] Bonjour, voici mon code : unit Unit2; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrl afficher une ligne !!! [ par Hardouz ] salut voici un bou de Code que je vien de faire a l'aide de plusieur membres du Cs je vous remerci bien :) mais je veut faire afficher la ligne qui co


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.