我用了delphi的TMediaPlayer控件做一个简单的播放器,想在窗体上以mm:ss方式显示当前播放歌曲的总长度,但是总显示的不正确,代码如下:
type MSFRec = record
Minutes: byte;
Seconds: byte;
Frames: byte;
NotUsed: byte;
end;
procedure TPlayForm.MyPlay()
begin
MediaPlayer1.TimeFormat := tfMSF;
MediaPlayer1.DeviceType := dtAutoSelect;
MediaPlayer1.FileName := 'd:\test.mp3';
MediaPlayer1.Open;
with MSFRec(MediaPlayer1.Length) do
begin
GradProgress1.MaxValue := MediaPlayer1.Length;
Label3.Caption := 'Total: '+IntToStr(Minutes)+':'+IntToStr(Seconds);//?????此处时间显示不对??????比如显示为239:34.
end;
MediaPlayer1.Play;
end;
请指教错误在哪儿?
type MSFRec = record
Minutes: byte;
Seconds: byte;
Frames: byte;
NotUsed: byte;
end;
procedure TPlayForm.MyPlay()
begin
MediaPlayer1.TimeFormat := tfMSF;
MediaPlayer1.DeviceType := dtAutoSelect;
MediaPlayer1.FileName := 'd:\test.mp3';
MediaPlayer1.Open;
with MSFRec(MediaPlayer1.Length) do
begin
GradProgress1.MaxValue := MediaPlayer1.Length;
Label3.Caption := 'Total: '+IntToStr(Minutes)+':'+IntToStr(Seconds);//?????此处时间显示不对??????比如显示为239:34.
end;
MediaPlayer1.Play;
end;
请指教错误在哪儿?
ShowMessage('Number of frames = ' +
IntToStr(MediaPlayer .Length));
MediaPlayer .TimeFormat := tfMilliseconds;
ShowMessage('Number of milliseconds = ' +
IntToStr(MediaPlayer .Length));
奇怪了