I am creating a project which requires me to save wave files in database blob fields.
I will then play these files with StockAudioPlayer.
Here is the code so far.
- Code: Select all
procedure TfrmEdit.BitBtn2Click(Sender: TObject);
var
FS: TFileStream;
Adapter: TwaveStreamAdapter;
begin
OpenD.InitialDir:= Master.Masters;
OpenD.FileName:= frmMain.kPage.FieldByName('Sname').asString;
if OpenD.Execute then begin
with frmMain.kPage do begin
Edit;
FieldByName('Sname').asString:= OpenD.FileName;
// Now put audio into Blob field
FS := TFileStream.Create(OpenD.FileName, fmOpenRead);
try
FS := CreateBlobStream(FieldByName('Sound'),bmReadWrite);
Adapter := TwaveStreamAdapter.Create(FS, soReference);
FieldByName('FrameD').asInteger:= Adapter.Length div 100;
FieldByName('TtlDur').asInteger:= Adapter.Length div 100;
finally
Adapter.Free;
FS.Free;
end;
Post;
end;
BuildPreview(P1);
TlinePos:=0;
CheckIfVisible(P1);
end;
end;
I get an error Incompatable types Tfilestream and Tstream.
How can I convert a filestream to a stream?
Tom