- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 Forum

Grundkurs
  »Introduktion
  »Snabbguide
  »Komponenter
  »Händelser
  »Strängar
  »Räkna med Delphi   »Egna typer
  »Selektion
  »Iteration
  »Menyer
  »Funktioner
  »Arraystrukturer

Tips & Tricks
  »Nya tips
  »Blandat
  »Databaser
  »Filer
  »Forms
  »Grafik
  »Internet
  »Komponenter
  »Matematik
  »Multimedia
  »Objekt/ActiveX
  »Skrivare
  »Strängar
  »System
  »Mest lästa tips

Artiklar
  »Delphi och ADO
  »Bygga en DLL
  »Skapa en enkel rapport
  »Hantera registret
  »Enheter, units
  »Klassen TCanvas
  »Använd LookUp Controls

 Nya tips
 Lägg till tips
 Delphilänkar
 Gästbok

 

Returnera längden på en .wav-fil i sekunder Kategori: Multimedia
Inlagt: 2007-07-02
Läst: 1495
Inlagt av: Staffan Berg
Beskrivning
Exemplet nedan returnerar längden på en wav-fil i sekunder.
Kod
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;  
 
 
 
 
 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -