Simple code inserted to Wave audio package Redirector demo.
But read and write same buffer data. No filtering. , Additional filters may be available later.
After reading buffer, Output muting. no sound. How is the way to read and write for this buffer?
- Code: Select all
procedure TMainForm.RedirectorAudioOutFilter(Sender: TObject;
const Buffer: Pointer; BufferSize: Cardinal);
var
ms: tmemorystream;
begin
ms := tmemorystream.create;
ms.ReadBuffer(Buffer^, BufferSize); // problem
ms.Position:=0;
// msamp(ms, 2.5); // (stream, gain) Soft amplifier , disabled for test
ms.Position:=0;
ms.WriteBuffer(buffer,BufferSize);
ms.Free;
end;
While debugging, stream read error occurs:
Error generated by
- Code: Select all
procedure TWaveAudioIO.DoFilter(const Buffer: Pointer; BufferSize: DWORD);
begin
if Assigned(fOnFilter) and not (csDestroying in ComponentState) then
fOnFilter(Self, Buffer, BufferSize);
end;