blob 필드의 wav 데이타를 읽어서
실행하는데 전체를 실행시키지 않고
일부분만 실행시키는 방법이 있을까요?
예를 들어 5초짜리 wav 데이터에서
2초부분 부터 4초 부분의 구간만 실행할수 있는 방법은..
아래 소스는 DB의 WAVE을 읽어와서 전체를 연주하는 루틴임.
procedure TForm1.PlaySndFromDBClick(Sender: TObject);
var
s: TBlobStream;
FData: Pointer;
MemSize: integer;
begin
s := TBlobStream.create(Table1BINA, bmRead);
MemSize := S.Size;
FData := AllocMem(MemSize);
s.Read(FData^, MemSize);
sndPlaySound(FData, SND_MEMORY or SND_SYNC);
s.free;
FreeMem(FData, MemSize);
end;
> blob 필드의 wav 데이타를 읽어서
> 실행하는데 전체를 실행시키지 않고
> 일부분만 실행시키는 방법이 있을까요?
>
> 예를 들어 5초짜리 wav 데이터에서
> 2초부분 부터 4초 부분의 구간만 실행할수 있는 방법은..
> 아래 소스는 DB의 WAVE을 읽어와서 전체를 연주하는 루틴임.
>
> procedure TForm1.PlaySndFromDBClick(Sender: TObject);
> var
> s: TBlobStream;
> FData: Pointer;
> MemSize: integer;
> begin
> s := TBlobStream.create(Table1BINA, bmRead);
> MemSize := S.Size;
> FData := AllocMem(MemSize);
> s.Read(FData^, MemSize);
> sndPlaySound(FData, SND_MEMORY or SND_SYNC);
> s.free;
> FreeMem(FData, MemSize);
> end;