1
使用DelphiXE,我試圖在標籤上顯示wav文件的長度。這是一個以64kbps的固定比特率加載到tMediaPlayer中的wav文件。以分鐘/秒爲單位獲取wav音頻的長度
以前的SO任務是HERE。但沒有顯示任何代碼,並且與Devhood的鏈接不再出現,因此我無法嘗試該方法。
我也嘗試了HERE的代碼,但它給出了不正確的結果,如下所示。
type
HMSRec = record
Hours: byte;
Minutes: byte;
Seconds: byte;
NotUsed: byte;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
TheLength: LongInt;
begin
{ Set time format - note that some devices don’t support tfHMS }
MediaPlayer1.TimeFormat := tfHMS;
{ Store length of currently loaded media }
TheLength := MediaPlayer1.Length;
with HMSRec(TheLength) do { Typecast TheLength as a HMSRec record }
begin
Label1.Caption := IntToStr(Hours); { Display Hours in Label1 }
Label2.Caption := IntToStr(Minutes); { Display Minutes in Label2 }
Label3.Caption := IntToStr(Seconds); { Display Seconds in Label3 }
end;
end;
此代碼給出的值爲24:23:4,當它應該是0:04:28。
該代碼是否存在明顯的問題,或者是否有一些更優雅的方式來實現?
一如既往,感謝您的幫助。
適合我!我想這只是一個有時最簡單的答案沒有發生的情況。再次感謝安德烈亞斯! – Bobby 2011-04-05 18:05:44