我想使用字幕 API。它需要视频文件的第一个和最后一个 64kb 的 md5 哈希。我知道如何做 md5 部分只是想知道我将如何获得 128kb 的数据。
这是我无法在 Delphi 中实现的 Java 问题的解决方案。如何在 Java 中读取视频文件的第一个和最后一个 64kb?
到目前为止我的德尔福代码:
function TSubdbApi.GetHashFromFile(const AFilename: string): string;
var
Md5: TIdHashMessageDigest5;
Filestream: TFileStream;
Buffer: TByteArray;
begin
Md5 := TIdHashMessageDigest5.Create;
Filestream := TFileStream.Create(AFilename, fmOpenRead, fmShareDenyWrite);
try
if Filestream.Size > 0 then begin
Filestream.Read(Buffer, 1024 * 64);
Filestream.Seek(64, soFromEnd);
Filestream.Read(Buffer, 1024 * 64);
Result := Md5.HashStreamAsHex(Filestream);
end;
finally
Md5.Free;
Filestream.Free;
end;
end;
我没有得到官方 API 所述的准确 md5 哈希值。API 网址在这里。我正在使用德尔福 XE8。