IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

problème pour gérer le son avec deux forms


Sujet :

Composants VCL Delphi

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut problème pour gérer le son avec deux forms
    bonjour,

    Je réalise une interface pour un projet informatique qui a pour but de créer un jeu vidéo et j'aimerais mettre du son sur ma form(menu), j'ai réussi à mettre de la musique sur ma première form le problème est que j'aimerais gérer cette musique à partir d'une deuxième form(option) et que je n'arrive pas à les raccorder toutes les deux...
    (j'ai utilisé TWindowsMediaPlayer afin de mettre du son)

    voici ma form(option) avec 3 boutons : lecture, pause, stop, et une TrackBar pour le volume

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    procedure Toption.lectureClick(Sender: TObject);
    begin
      // On définit les états des boutons Lecture, Pause, Stop
      Lecture.Enabled:=false;
      Pause.Enabled:=true;
      Stop.Enabled:=true;
      // Selon le status de lecture, on effectue telle ou telle action
      case WMP.playState of
        wmppsUndefined,wmppsStopped : begin
                                        WMP.URL:='-Kamini- Marly Gomont.mp3';
                                        LabelPisteEnCours.Caption:=WMP.currentMedia.name;
                                        WMP.controls.play;
                                      end;
        wmppsPaused : begin
                        WMP.controls.play;
                      end;
      end;
    end;
     
    procedure Toption.pauseClick(Sender: TObject);
    begin
      WMP.controls.pause;
      // Désactive le bouton Pause
      Pause.Enabled:=false;
      // Réactive le bouton Lecture
      Lecture.Enabled:=true;
    end;
     
    procedure Toption.stopClick(Sender: TObject);
    begin
      WMP.controls.stop;
      // Désactive le bouton Stop et Pause
      Stop.Enabled:=false;
      Pause.Enabled:=false;
      // Réactive le bouton de lecture
      Lecture.Enabled:=true;
    end;
     
    procedure Toption.TrackBar1Change(Sender: TObject);
    begin
      WMP.settings.volume:=TrackBar1.Position;
     
    end;
     
    procedure Toption.FormCreate(Sender: TObject);
    begin
      WMP:=TWindowsMediaPlayer.Create(option);
      // Evite que la lecture d'un média démarre automatiquement
      WMP.settings.autoStart:=true;
      WMP.settings.volume:=50;
      TrackBar1.Position:=50;
     
    end;
     
    end.
    et ma form(menu) où ma musique se lance automatiquement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    procedure Tmenu.FormCreate(Sender: TObject);
    begin
    WMP:=TWindowsMediaPlayer.Create(option);
    WMP.settings.autoStart:=true;
      Bitmap := TBitmap.Create;
      Bitmap.LoadFromFile('logo.bmp');
     
      // Selon le status de lecture, on effectue telle ou telle action
      case WMP.playState of
        wmppsUndefined,wmppsStopped : begin
                                        WMP.URL:='-Kamini- Marly Gomont.mp3';
                                        WMP.controls.play;
                                      end;
        wmppsPaused : begin
                        WMP.controls.play;
                      end;
      end;
    end;
     
    procedure Tmenu.FormDestroy(Sender: TObject);
    begin
      Bitmap.Free;
    end;
     
    procedure Tmenu.FormPaint(Sender: TObject);
    begin
      Canvas.Draw(0, 0, Bitmap);
    end;
     
    procedure Tmenu.SpeedButton2Click(Sender: TObject);
    begin
      option.Show;
    end;
     
    procedure Tmenu.SpeedButton4Click(Sender: TObject);
    begin
        showmessage('looser');
      application.terminate;
    end;
     
    end.
    Merci pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 936
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 936
    Points : 15 386
    Points
    15 386
    Par défaut
    Salut !

    Vite fait, je ne sais pas où tu as défini ta variable WMP, mais je vois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      WMP:=TWindowsMediaPlayer.Create(option);
    dans le FormCreate des 2 forms.
    ÀMHA, l'embrouille vient de là : chaque Form bricole avec son propre WMP...

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    salut,

    en fait j'ai modifié ce que tu m'a dit mais cela ne fonctionne toujours pas, il ne reconnait pas la variable 'WMP:TWindowsMediaPlayer;' de la from(menu) ni les boutons pourtant je pense que mes uses sont bien placés

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    unit option1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ImgList, Buttons, WMPLib_TLB, OleServer, OleCtrls, ComCtrls, menu1;
     
    type
      Toption = class(TForm)
        lecture: TButton;
        pause: TButton;
        stop: TButton;
        LabelPisteEnCours: TLabel;
        TrackBar1: TTrackBar;
        procedure lectureClick(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure pauseClick(Sender: TObject);
        procedure stopClick(Sender: TObject);
        procedure TrackBar1Change(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      option: Toption;
     
    implementation
     
    {$R *.dfm}
     
    procedure Toption.lectureClick(Sender: TObject);
    begin
      // On définit les états des boutons Lecture, Pause, Stop
      Lecture.Enabled:=false;
      Pause.Enabled:=true;
      Stop.Enabled:=true;
      // Selon le status de lecture, on effectue telle ou telle action
      case WMP.playState of
        wmppsUndefined,wmppsStopped : begin
                                        WMP.URL:='-Kamini- Marly Gomont.mp3';
                                        LabelPisteEnCours.Caption:=WMP.currentMedia.name;
                                        WMP.controls.play;
                                      end;
        wmppsPaused : begin
                        WMP.controls.play;
                      end;
      end;
    end;
     
    procedure Toption.pauseClick(Sender: TObject);
    begin
      WMP.controls.pause;
      // Désactive le bouton Pause
      Pause.Enabled:=false;
      // Réactive le bouton Lecture
      Lecture.Enabled:=true;
    end;
     
    procedure Toption.stopClick(Sender: TObject);
    begin
      WMP.controls.stop;
      // Désactive le bouton Stop et Pause
      Stop.Enabled:=false;
      Pause.Enabled:=false;
      // Réactive le bouton de lecture
      Lecture.Enabled:=true;
    end;
     
    procedure Toption.TrackBar1Change(Sender: TObject);
    begin
      WMP.settings.volume:=TrackBar1.Position;
     
    end;
     
    procedure Toption.FormCreate(Sender: TObject);
    begin
      WMP:=TWindowsMediaPlayer.Create(option);
      // Evite que la lecture d'un média démarre automatiquement
      WMP.settings.autoStart:=true;
      WMP.settings.volume:=50;
      TrackBar1.Position:=50;
     
    end;
     
    end.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
     
    unit menu1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ImgList, Buttons, WMPLib_TLB, OleServer, OleCtrls;
     
    type
      Tmenu = class(TForm)
        SpeedButton1: TSpeedButton;
        SpeedButton2: TSpeedButton;
        SpeedButton3: TSpeedButton;
        SpeedButton4: TSpeedButton;
        Button1: TButton;
        Button2: TButton;
        Button3: TButton;
        procedure Button3Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
        procedure FormPaint(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure SpeedButton2Click(Sender: TObject);
        procedure SpeedButton4Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
     
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
            WMP:TWindowsMediaPlayer;
      end;
     
    var
      menu: Tmenu;
     
     
    implementation
     
    {$R *.dfm}
     
    uses option1;
     
    var
    Bitmap: TBitmap;
     
    procedure Tmenu.Button1Click(Sender: TObject);
    begin
    // On définit les états des boutons Lecture, Pause, Stop
      Button1.Enabled:=false;
      Button2.Enabled:=true;
      Button3.Enabled:=true;
      // Selon le status de lecture, on effectue telle ou telle action
      case WMP.playState of
        wmppsUndefined,wmppsStopped : begin
                                        WMP.URL:='-Kamini- Marly Gomont.mp3';
                                        WMP.controls.play;
                                      end;
        wmppsPaused : begin
                        WMP.controls.play;
                      end;
      end;
     
    end;
     
    procedure Tmenu.Button2Click(Sender: TObject);
    begin
      WMP.controls.pause;
      // Désactive le bouton Pause
      Button2.Enabled:=false;
      // Réactive le bouton Lecture
      Button1.Enabled:=true;
    end;
     
    procedure Tmenu.Button3Click(Sender: TObject);
    begin
      WMP.controls.stop;
      // Désactive le bouton Stop et Pause
      Button3.Enabled:=false;
      Button2.Enabled:=false;
      // Réactive le bouton de lecture
      Button1.Enabled:=true;
    end;
     
     
     
    procedure Tmenu.FormCreate(Sender: TObject);
    begin
    WMP:=TWindowsMediaPlayer.Create(menu);
    WMP.settings.autoStart:=true;
      Bitmap := TBitmap.Create;
      Bitmap.LoadFromFile('logo.bmp');
     
      // On définit les états des boutons Lecture, Pause, Stop
      Button1.Enabled:=false;
      Button2.Enabled:=true;
      Button3.Enabled:=true;
      // Selon le status de lecture, on effectue telle ou telle action
      case WMP.playState of
        wmppsUndefined,wmppsStopped : begin
                                        WMP.URL:='-Kamini- Marly Gomont.mp3';
                                        WMP.controls.play;
                                      end;
        wmppsPaused : begin
                        WMP.controls.play;
                      end;
      end;
    end;
     
    procedure Tmenu.FormDestroy(Sender: TObject);
    begin
      Bitmap.Free;
    end;
     
    procedure Tmenu.FormPaint(Sender: TObject);
    begin
      Canvas.Draw(0, 0, Bitmap);
    end;
     
    procedure Tmenu.SpeedButton2Click(Sender: TObject);
    begin
      option.Show;
    end;
     
    procedure Tmenu.SpeedButton4Click(Sender: TObject);
    begin
        showmessage('looser');
      application.terminate;
    end;
     
    end.

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 936
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 936
    Points : 15 386
    Points
    15 386
    Par défaut
    Citation Envoyé par huntermaster Voir le message
    salut,

    en fait j'ai modifié ce que tu m'a dit mais cela ne fonctionne toujours pas, il ne reconnait pas la variable 'WMP:TWindowsMediaPlayer;' de la from(menu) ni les boutons pourtant je pense que mes uses sont bien placés
    Sans doute, mais comme il y a quand même deux créations, il doit y avoir deux objets et c'est sûrement ça qui te fait un sac de noeuds. Enfin, il me semble.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    désolé je débute avec ce langage et donc j'ai un peu de mal mais si j'ai bien compris cela devrait donné un truc comme sa ou sinn j'ai rien compris à ce que tu m'a dit :

    (mais il ne reconnait toujours pas ma variable 'wmp' dans la form(option))

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    unit menu1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ImgList, Buttons, WMPLib_TLB, OleServer, OleCtrls;
     
    type
      Tmenu = class(TForm)
        SpeedButton1: TSpeedButton;
        SpeedButton2: TSpeedButton;
        SpeedButton3: TSpeedButton;
        SpeedButton4: TSpeedButton;
        procedure FormPaint(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure SpeedButton2Click(Sender: TObject);
        procedure SpeedButton4Click(Sender: TObject);
     
     
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
            WMP:TWindowsMediaPlayer;
      end;
     
    var
      menu: Tmenu;
     
     
    implementation
     
    {$R *.dfm}
     
    uses option1;
     
    var
    Bitmap: TBitmap;
     
    procedure Tmenu.FormCreate(Sender: TObject);
    begin
    WMP:=TWindowsMediaPlayer.Create(menu);
    WMP.settings.autoStart:=true;
      Bitmap := TBitmap.Create;
      Bitmap.LoadFromFile('logo.bmp');
     
      // On définit les états des boutons Lecture, Pause, Stop
      // Selon le status de lecture, on effectue telle ou telle action
      case WMP.playState of
        wmppsUndefined,wmppsStopped : begin
                                        WMP.URL:='-Kamini- Marly Gomont.mp3';
                                        WMP.controls.play;
                                      end;
        wmppsPaused : begin
                        WMP.controls.play;
                      end;
      end;
    end;
     
    procedure Tmenu.FormDestroy(Sender: TObject);
    begin
      Bitmap.Free;
    end;
     
    procedure Tmenu.FormPaint(Sender: TObject);
    begin
      Canvas.Draw(0, 0, Bitmap);
    end;
     
    procedure Tmenu.SpeedButton2Click(Sender: TObject);
    begin
      option.Show;
    end;
     
    procedure Tmenu.SpeedButton4Click(Sender: TObject);
    begin
        showmessage('looser');
      application.terminate;
    end;
     
    end.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    unit option1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ImgList, Buttons, WMPLib_TLB, OleServer, OleCtrls, ComCtrls, menu1;
     
    type
      Toption = class(TForm)
        lecture: TButton;
        pause: TButton;
        stop: TButton;
        LabelPisteEnCours: TLabel;
        TrackBar1: TTrackBar;
        procedure lectureClick(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure pauseClick(Sender: TObject);
        procedure stopClick(Sender: TObject);
        procedure TrackBar1Change(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      option: Toption;
     
    implementation
     
    {$R *.dfm}
     
    procedure Toption.lectureClick(Sender: TObject);
    begin
      // On définit les états des boutons Lecture, Pause, Stop
      Lecture.Enabled:=false;
      Pause.Enabled:=true;
      Stop.Enabled:=true;
      // Selon le status de lecture, on effectue telle ou telle action
    end;
     
    procedure Toption.pauseClick(Sender: TObject);
    begin
      WMP.controls.pause;
      // Désactive le bouton Pause
      Pause.Enabled:=false;
      // Réactive le bouton Lecture
      Lecture.Enabled:=true;
    end;
     
    procedure Toption.stopClick(Sender: TObject);
    begin
      WMP.controls.stop;
      // Désactive le bouton Stop et Pause
      Stop.Enabled:=false;
      Pause.Enabled:=false;
      // Réactive le bouton de lecture
      Lecture.Enabled:=true;
    end;
     
    procedure Toption.TrackBar1Change(Sender: TObject);
    begin
      WMP.settings.volume:=TrackBar1.Position;
     
    end;
     
    procedure Toption.FormCreate(Sender: TObject);
    begin
      WMP:=TWindowsMediaPlayer.Create(option);
      // Evite que la lecture d'un média démarre automatiquement
      WMP.settings.autoStart:=true;
      WMP.settings.volume:=50;
      TrackBar1.Position:=50;
     
    end;
     
    end.

  6. #6
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 936
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 936
    Points : 15 386
    Points
    15 386
    Par défaut
    Citation Envoyé par huntermaster Voir le message
    (mais il ne reconnait toujours pas ma variable 'wmp' dans la form(option))
    C'est-à-dire ?
    Message d'erreur ou ça ne fonctionne pas comme tu veux ?

    Ce qui me choque, moi, ce sont ces deux créations :
    Citation Envoyé par huntermaster Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    unit menu1;
    procedure Tmenu.FormCreate(Sender: TObject);
    begin
    WMP:=TWindowsMediaPlayer.Create(menu);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    unit option1;
    procedure Toption.FormCreate(Sender: TObject);
    begin
      WMP:=TWindowsMediaPlayer.Create(option);
    Désolé, mais j'ai absolument pas le temps, là maintenant, de continuer : faut que je file au taf, et y a pas de Delphi où je bosse...
    Bonne journée,

  7. #7
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Salut
    Si tu veux contrôler le mediaplayer (WMP) de la fiche Menu, il faudra qu'on puisse l'atteindre depuis Option en rajoutant l'unité contenant Menu dans les uses de Option.
    Après, il te reste plus qu'à faire comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    procedure Toption.lectureClick(Sender: TObject);
    begin
      // On définit les états des boutons Lecture, Pause, Stop
      Lecture.Enabled:=false;
      Pause.Enabled:=true;
      Stop.Enabled:=true;
      // Selon le status de lecture, on effectue telle ou telle action
      With Menu.Wmp do
      case playState of
        wmppsUndefined,wmppsStopped : begin
                                        URL:='-Kamini- Marly Gomont.mp3';
                                        LabelPisteEnCours.Caption:=currentMedia.name;
                                        controls.play;
                                      end;
        wmppsPaused : begin
                        controls.play;
                      end;
      end;
    end;
    Tu n'est pas oubliger d'instancier une autre MediaPlayer dans Option. Il suffit d'utiliser celui de Menu.
    Voilà.

  8. #8
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    salut,

    escusez pour le temps de réponse, j'ai eu des problème de pc. J'ai modifié le code en rajoutant et en enlevant ce que tu m'as dit, sinon pour la variable menu1 elle y était déja dans le uses de de l'interface de la form option1 mais à présent il me renvoit une erreur dès que je compile.....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    unit menu1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ImgList, Buttons, WMPLib_TLB, OleServer, OleCtrls, ShellAPI,
      ComCtrls;
     
    type
      Tmenus = class(TForm)
        SpeedButton1: TSpeedButton;
        SpeedButton2: TSpeedButton;
        SpeedButton3: TSpeedButton;
        SpeedButton4: TSpeedButton;
        procedure FormPaint(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
        procedure FormCreate(Sender: TObject);
        procedure SpeedButton2Click(Sender: TObject);
        procedure SpeedButton4Click(Sender: TObject);
        procedure SpeedButton1Click(Sender: TObject);
     
     
      private
        { Déclarations privées }
      public
     WMP:TWindowsMediaPlayer;
      end;
     
    var
      menus: Tmenus;
     
     
    implementation
     
    {$R *.dfm}
     
    uses option1;
     
    var
    Bitmap: TBitmap;
     
    Const
      crfuck2=2;
      crfuck1=1;
      crfuck3=3;
      crfuck4 =4;
      crcrane = 5;
     
    procedure Tmenus.FormCreate(Sender: TObject);
    begin
    WMP:=TWindowsMediaPlayer.Create(menu);
    WMP.settings.autoStart:=true;
      Bitmap := TBitmap.Create;
      Bitmap.LoadFromFile('logo2.bmp');
      case WMP.playState of
        wmppsUndefined,wmppsStopped : begin
                                        WMP.URL:='systematic.mp3';
                                        WMP.controls.play;
                                      end;
        wmppsPaused : begin
                        WMP.controls.play;
                      end;
      end;
     
     
      Screen.Cursors[crfuck1] := LoadCursorFromFile(PChar(ExtractFilePath(ParamStr(0))+'fuck1.CUR'));
      SpeedButton1.Cursor := crfuck1;
     
      Screen.Cursors[crfuck2] := LoadCursorFromFile(PChar(ExtractFilePath(ParamStr(0))+'fuck2.CUR'));
      SpeedButton2.Cursor := crfuck2;
     
    Screen.Cursors[crfuck3] := LoadCursorFromFile(PChar(ExtractFilePath(ParamStr(0))+'fuck3.CUR'));
      SpeedButton3.Cursor := crfuck3;
     
      Screen.Cursors[crfuck4] := LoadCursorFromFile(PChar(ExtractFilePath(ParamStr(0))+'fuck4.CUR'));
      SpeedButton4.Cursor := crfuck4;
     
        Screen.Cursors[crcrane] := LoadCursorFromFile(PChar(ExtractFilePath(ParamStr(0))+'crane.CUR'));
      menus.Cursor := crcrane;
    end;
     
    procedure Tmenus.FormDestroy(Sender: TObject);
    begin
      Bitmap.Free;
    end;
     
    procedure Tmenus.FormPaint(Sender: TObject);
    begin
      Canvas.Draw(0, 0, Bitmap);
    end;
     
     
    procedure Tmenus.SpeedButton1Click(Sender: TObject);
    begin
    ShellExecute(Handle,'open',PChar('example.exe'),nil,nil,SW_SHOW);
     application.terminate;
    end;
     
    procedure Tmenus.SpeedButton2Click(Sender: TObject);
    begin
      option.show;
      menus.visible := false;
    end;
     
    procedure Tmenus.SpeedButton4Click(Sender: TObject);
    begin
      application.terminate;
    end;
     
     
    end.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    unit option1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ImgList, Buttons, WMPLib_TLB, OleServer, OleCtrls, ComCtrls, menu1;
     
    type
      Toption = class(TForm)
        LabelPisteEnCours: TLabel;
        Button1: TButton;
        lecture: TButton;
        pause: TButton;
        stop: TButton;
        TrackBar1: TTrackBar;
     
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure lectureClick(Sender: TObject);
        procedure pauseClick(Sender: TObject);
        procedure stopClick(Sender: TObject);
        procedure TrackBar1Change(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      option: Toption;
      WMP:TWindowsMediaPlayer;
     
    implementation
     
    {$R *.dfm}
     
     
    const
      crcrane = 6;
     
     
     
    procedure Toption.Button1Click(Sender: TObject);
    begin
    menus.Visible := true;
    option.close;
    end;
     
    procedure Toption.FormCreate(Sender: TObject);
    begin
      Lecture.Enabled:=false;
      Pause.Enabled:=true;
      Stop.Enabled:=true;
       Screen.Cursors[crcrane] := LoadCursorFromFile(PChar(ExtractFilePath(ParamStr(0))+'crane.CUR'));
     option.Cursor := crcrane;
      // Evite que la lecture d'un média démarre automatiquement
      WMP.settings.autoStart:=true;
      WMP.settings.volume:=50;
      TrackBar1.Position:=50;
    end;
     
    procedure Toption.lectureClick(Sender: TObject);
    begin
        Lecture.Enabled:=false;
      Pause.Enabled:=true;
      Stop.Enabled:=true;
      With Menus.Wmp do
      case playState of
        wmppsUndefined,wmppsStopped : begin
                                        URL:='systematic.mp3';
                                        LabelPisteEnCours.Caption:=currentMedia.name;
                                        controls.play;
                                      end;
        wmppsPaused : begin
                        controls.play;
                      end;
      end;
     
    end;
     
    procedure Toption.pauseClick(Sender: TObject);
    begin
      WMP.controls.pause;
      // Désactive le bouton Pause
      Pause.Enabled:=false;
      // Réactive le bouton Lecture
      Lecture.Enabled:=true;
     
    end;
     
    procedure Toption.stopClick(Sender: TObject);
    begin
      WMP.controls.stop;
      // Désactive le bouton Stop et Pause
      Stop.Enabled:=false;
      Pause.Enabled:=false;
      // Réactive le bouton de lecture
      Lecture.Enabled:=true;
     
    end;
     
    procedure Toption.TrackBar1Change(Sender: TObject);
    begin
      WMP.settings.volume:=TrackBar1.Position;
    end;
     
    end.

  9. #9
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Tiens.

    Un truc basique que j'ai fait il y a longtemps.

    Tu pourras t'en inspirer.
    Fichiers attachés Fichiers attachés

  10. #10
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut huntermaster,

    Tu dis que tu as une erreur lors de la compilation ... Quelle est cette erreur ?
    De plus, si tu veux contrôler le TWindowsMediaPlayer du menu depuis la Form des options, il faut virer la variable WMP déclarée dans la fiche des options, et à chaque appel de la variable WMP, il faudra écrire menu.WMP comme l'a précisé Andry

Discussions similaires

  1. [JDOM] Problème pour lire les noeuds avec JDOM
    Par Eclix dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 26/05/2014, 18h11
  2. [Upload] Problème pour gestion d'erreur avec class
    Par allserv dans le forum Langage
    Réponses: 2
    Dernier message: 27/12/2005, 13h00
  3. Réponses: 1
    Dernier message: 03/12/2005, 16h17
  4. problème pour faire un insert avec une image
    Par vbcasimir dans le forum Modules
    Réponses: 3
    Dernier message: 02/11/2005, 09h21
  5. Réponses: 1
    Dernier message: 17/05/2004, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo