请问,有一个做好播放时间不同的音频和视频文件,让他们同时播放,请问怎么知道哪个是最后结束,且以最后那个结束的文件为起点,再延时5秒中后自动回到我所需要的界面上,原界面消失!愿意给300分!

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1671/1671218.xml?temp=.2871515
      

  2.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, MPlayer;type
      TForm1 = class(TForm)
        MediaPlayer1: TMediaPlayer;
        MediaPlayer2: TMediaPlayer;
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
        procedure MediaPlayer1Notify(Sender: TObject);
        procedure MediaPlayer2Notify(Sender: TObject);
      private
        p1,p2,l1,l2:integer;
        procedure sleep_jump();
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure tform1.sleep_jump;
    begin
      sleep(5000);
      form2.Show;
      form1.Hide;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    mediaplayer1.FileName:='c:\01.wav';
    mediaplayer1.Open;
    mediaplayer2.FileName:='c:\02.wav';
    mediaplayer2.Open;
    l1:=mediaplayer1.Length;
    l2:=mediaplayer2.Length;
    mediaplayer1.Play;
    mediaplayer2.Play;
    end;procedure TForm1.MediaPlayer1Notify(Sender: TObject);
    begin
         p1:=mediaplayer1.Position;
    if l1 > l2 then
      begin
         if p1 = l1 then
            sleep_jump;
      end;
    end;procedure TForm1.MediaPlayer2Notify(Sender: TObject);
    begin
         p2:=mediaplayer2.Position;
    if l1 < l2 then
      begin
         if p2 = l2 then
            sleep_jump;
      end;
    end;end.