音乐播放器,用Trackbar显示音乐进度?可怎样拖动Trackbar而改变音乐播放进度???

解决方案 »

  1.   

    trackbar和音乐的控件都有一个position属性,通过这个来实现
      

  2.   

    用一个TTimer控件来跟踪TMediaPlayer.Position就行
      

  3.   

    如果用strollbar就可以实现。
    strollbar1.stroll:=Tmediaplayer1.position.
    昨天自己编了一个mediaplayer,我也想知道如何在trackbar 上实现
      

  4.   

    更正:
    在strollbar1stroll(.....) 中加如下代码
    strollbar1.position:=mediaplayer1.position
      

  5.   

    给你源码,不过不要忘记指定要播放的文件名哟:)procedure TForm1.Button1Click(Sender: TObject);
    begin
    form1.MediaPlayer1.Open;form1.MediaPlayer1.Play;form1.TrackBar1.Max:=MediaPlayer1.Length;
    end;procedure TForm1.TrackBar1Change(Sender: TObject);
    begin
    form1.MediaPlayer1.Position:=form1.TrackBar1.Position;
    end;祝:身体健康,分数和答案同样重要:)
      

  6.   

    form1.MediaPlayer1.Position:=form1.TrackBar1.Position;
    我试过这个代码了,延时好象太长了吧???
      

  7.   

    to ghyghost(我要求delphi能理解我的心情)你的代码好象不行。
      

  8.   

    To:eliphe 
    用SendMessage,如果直接用MediaPlayer1.Position:=TrackBar1.Position;很痛苦的说
    代码记的不是很清楚 大概是这样的
    SendMessge(MediaPlayer1.Handle, wm_user+5, TrackBar1.Position, 0);
      

  9.   

    用Trackbar显示音乐进度
    OnTime
    TrackBar1.Max := MediaPlayer1.Length;
    SendMessage(TrackBar1.Handle, WM_USER+5, 1, MediaPlayer1.Position);改变音乐播放进度
    TrackBar OnChange
    直接写代码就可以
      

  10.   

    var
      i:TMPModes;
    begin
      i:=MediaPlayer1.Mode;//记住以前MediaPlayer1的状态。
      MediaPlayer1.Position:=TrackBar1.Position*MediaPlay1.Length div TrackBar.Length;
      if i=mpPlaying then
        MediaPlayer1.Play;
    end;