Ich versuche derzeit, eine kleine Klasse zusammenzubasteln, die Waves (derzeit nur PCM) abspielen kann, das grundsätzliche dabei ist, dass die Daten bereits eingelesen sind und ich sie nur ungern erst wieder in eine Datei schreiben würde. Ich suche also eine Möglichkeit die Audiodaten mit möglichst wenig overhead abzuspielen. Entweder direkt aus einem Array oder wenn ich das entsprechend umbau aus einem TMemoryStream oder ähnlichem.
Gegeben folgende Klasse:
Delphi-Quellcode:
type
TWave = class(TObject)
private
FAvgBytesPerSec: Cardinal;
FBitsPerSample: Word;
FBlockAlign: Word;
FChannels: Word;
FData: array of Byte;
FDataLength: Cardinal;
FFormat: Word;
FSampleRate: Cardinal; //samples pro Sekunde
public
constructor Create(Stream: TStream);
procedure LoadWave(Stream: TStream);
function GetInfo: string;
end;