怎样用Tmediaplayer 实现连续播放!?
就是一个文件播放完了过后,会产生什么事件或消息?!!急求!大哥们救我!!!

解决方案 »

  1.   

    //播放结束时触发OnNotify事件, 根据NotifyValue值判断procedure TForm1.MediaPlayer1Notify(Sender: TObject);
    begin
      if MediaPlayer1.NotifyValue = nvSuccessful then  //播完了, 做其它的事
        ShowMessage('end');
    end;
      

  2.   

    YYQQ(阿鱼) :
    这句就有问题。
    if MediaPlayer1.NotifyValue = nvSuccessful then  //播完了, 做其它的事提示:nvSuccessful  是啥子类哦,反正不匹配!
      

  3.   

    if MediaPlayer1.Position = MediaPlayer1.Length then
      ……
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      MediaPlayer1.FileName := 'E:\MyProgram\CDMsg1.1\Client\MusicHint\didi.wav';
      MediaPlayer1.Open;
      MediaPlayer1.Play;
    end;procedure TForm1.MediaPlayer1Notify(Sender: TObject);
    begin
      if MediaPlayer1.Position = MediaPlayer1.Length then
        MediaPlayer1.Play;
    end;
      

  5.   

    以下是我帮助你找到的,你实验一下吧!有问题的话给我发消息!
    //在执行MediaPlayer1的Pause、Stop过程时应将其Notify:=False,其它过程Notify:=True.
    procedure TForm1.MediaPlayer1Notify(Sender: TObject);
    begin
      sleep(500);//主要其缓冲作用
      with MediaPlayer1 do
        begin
        if notify And Chechbox1.Checked And//接受信息
          (mode=mpStopped) then//已经停止
          begin
            ReWind;
            play;
          end;
      notify:=true;//开始接受信息
      end;
    end;
      

  6.   

    我有一个办法就是用timer控件来定期的检查,看是否当前的歌曲已经播放完,如果是,则把第二个文件的路径附值给mediaplayer,下面是代码,你看看吧:(属性设置里面需把timer1的enabled设置成false,还有需要设置一个全句变量i,作用看下面就知道了。这个例子里面用的是一个button来载入播放文件,记得opendialog的options属性里面要改成允许多选哦)
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if opendialog1.Execute then begin
    mediaplayer1.close; i:=0;
    mediaplayer1.FileName:=opendialog1.Files[i];//第一个播放文件
    timer1.Enabled:=true;//使timer开始工作,
    mediaplayer1.Open;
     end;
    end;procedure TForm1.Timer1Timer(Sender: TObject);//timer1的ontimer事件
    begin
    if mediaplayer1.Position=mediaplayer1.Length then  //判断是否播放完了当前的文件
    begin  i:=i+1;  //是的话播放地址向后一个
     if i<=opendialog1.Files.Count-1 then   //判断是否后面还有文件
        begin
          mediaplayer1.FileName:=opendialog1.Files[i];
           mediaplayer1.Open;
           mediaplayer1.Play;//播放下一个
           end;
    end;end;
      

  7.   

    大家有兴趣再帮我看看声音的问题,调大小,不是声道!!我用了两种方法都不行!:(
    http://expert.csdn.net/Expert/topic/2369/2369381.xml?temp=.7803614
      

  8.   

    zzh54zzh(我也要补钙!) Thank you
    Thank you,各位大侠!@#