![]() |
![]() ![]() ![]() ![]() |
|
Как определить продолжительность в секундах wav файлаDelphi , Мультимедиа , АудиоАвтор: http://www.swissdelphicenter.ch
uses
MPlayer, MMsystem;
type
EMyMCIException = class(Exception);
TWavHeader = record
Marker1: array[0..3] of Char;
BytesFollowing: Longint;
Marker2: array[0..3] of Char;
Marker3: array[0..3] of Char;
Fixed1: Longint;
FormatTag: Word;
Channels: Word;
SampleRate: Longint;
BytesPerSecond: Longint;
BytesPerSample: Word;
BitsPerSample: Word;
Marker4: array[0..3] of Char;
DataBytes: Longint;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Header: TWavHeader;
begin
with TFileStream.Create('C:\SomeFile.wav', fmOpenRead) do
try
ReadBuffer(Header, SizeOf(Header));
finally
Free;
end;
ShowMessage(FloatToStr((Int64(1000) * header.DataBytes div
header.BytesPerSecond) / 1000));
end;
Программный код на Delphi, который использует компонент
Формула вычисления продолжительности следующая:
Эта формула предполагает, что файл WAV имеет постоянную частоту дискретизации и не применяется никакое сжатие или кодирование. Вот альтернативное решение на Delphi: Функция Обратите внимание, что вам нужно добавить компонент Определить продолжительность в секундах wav файла можно с помощью программирования на языке Delphi, где из полученных данных хедера файла вычисляется время звучания в секундах. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||