var
len: Integer;
begin
len := MediaPlayer1.Length;
......
end;
你在Timer里面判断MediaPlayer的Position,
if MediaPlayer1.Position = len then //说明一首歌播放完了
begin
......
end;
要注意的是MediaPlayer对于VBR的MP3歌曲在求Length的时候好象有点问题。但是,它又不像Windows Media Player控件那样有PlayState等属性,所以我只会这样来判断。