![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Как определить продолжительность в секундах 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 |