- 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

 

Kombinera flera wav-filer till en Kategori: Multimedia
Inlagt: 2004-04-29
Läst: 1243
Inlagt av: Staffan Berg
Beskrivning
Detta exempel slår ihop flera ljudfiler av typen .wav till en enda. 
Kod
procedure JoinWaves(FileList: TStrings; OutputFile: String); 
{All files must be of the same format} 
var 
 I: Integer; 
 FileSize: LongInt; 
 InStream, OutStream: TFileStream; 
begin 
 OutStream := TFileStream.Create(OutputFile, fmCreate); 
 try 
  for I := 0 to FileList.Count - 1 do 
   if FileExists(FileList[I]) then 
   begin 
    InStream := TFileStream.Create(FileList[I], fmOpenRead); 
    try 
     if I = 0 then 
      OutStream.CopyFrom(InStream, InStream.Size) 
     else 
      if InStream.Size > 44 then 
      begin 
       InStream.Position := 44; 
       OutStream.CopyFrom(InStream, InStream.Size - 44); 
      end; 
    finally 
     InStream.Free; 
    end; 
   end; 
  OutStream.Position := 4; 
  FileSize := OutStream.Size - 8; 
  OutStream.WriteBuffer(FileSize, SizeOf(FileSize)); 
  OutStream.Position := 40; 
  FileSize := OutStream.Size - 44; 
  OutStream.WriteBuffer(FileSize, SizeOf(FileSize)); 
 finally 
  OutStream.Free; 
 end; 
end; 

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