我在论坛上找了一些方法,下面这个方法是最好的,但是有一个很大的效率问题,如果文件比较大,要处理很久的。 if OpenDialog1.Execute then
    begin
       MediaPlayer1.FileName := OpenDialog1.FileName;
       MediaPlayer1.Open;
       MediaPlayer1.TimeFormat := tfMilliseconds;
       ShowMessage(IntToStr(MediaPlayer1.Length DIV 1000));//单位为秒
    end;我现在要做一个播发列表:
文件名          大小        播放时间(秒)
aaaaa.asf       235461       25635
bbbbb.wma       3253245      461321
…………………………………………我想应该不需要每条记录都去调用一下MediaPlayer1去取得播放时间吧?效率很低的。谁还有更好的方法来取得播放时间啊?能否用api之类的东西去的(就像取文件的创建日期)。