怎样实现 拖哪就播哪?(50分)

  • 主题发起人 情瑶遥
  • 开始时间

情瑶遥

Unregistered / Unconfirmed
GUEST, unregistred user!
设计了一个mp3播放器,想实现拖动播放。用 TrackBar1change 事件
procedure TForm1.TrackBar1Change(Sender: TObject);
begin

if(mediaplayer1.Mode=mpPlaying) then

begin

mediaplayer1.Pause;
mediaplayer1.Position:=trackbar1.Position;
Mediaplayer1.Resume;
end;

end;

却不行 如果把Resume改成Play,声音会断断续续的。难受。
请大家帮帮我了。:)
 
这段代码应该放在一个timer里,并且作如下的处理,这样就不会有影响了
trackbar1.onchange := Nil;
//onchange 失效
mediaplayer1.Position:=trackbar1.Position;
trackbar1.onchange := trackbar1change;
//恢复onchange
 
不行呀。能不能在具体点呢? 拜托了 :)
 
我这段简单的代码是可以的哦
procedure TForm1.FormCreate(Sender: TObject);
begin

TrackBar1.Max := MediaPlayer1.Length;
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin

TrackBar1.OnChange := nil;
TrackBar1.Position := MediaPlayer1.Position;
TrackBar1.OnChange := TrackBar1Change;
end;


procedure TForm1.TrackBar1Change(Sender: TObject);
begin

MediaPlayer1.Stop;//or MediaPlayer1.Pause;
MediaPlayer1.Position := TrackBar1.Position;
MediaPlayer1.Resume;//or MediaPlayer.Play;
end;
 
顶部