Цитата:
Сообщение от Dmitry_DM
Можно по-подробнее?
|
Код:
for i := X1 to X2 do
begin
X := Trunc(KX * (i - X1));
Y := aHeight - Trunc(KY * FWavInfo.Samples[Chanel, i] + DY);
//^^^^^^^^^ - ВОТ ЭТО ДОБАВИТЬ
if DrawWaveForm then
begin
if i = X1 then Can.MoveTo(X, Y) else Can.LineTo(X, Y);
end else
begin
Can.Rectangle(X, DY, Trunc(KX * (i - X1 + 1)), Y);
end;
end;
Цитата:
Сообщение от Dmitry_DM
Я то понимаю, я хочу, что бы не выводилось в 2 раза больше сэмплов только из-за того, что BlockAling = 4.
|
BlockAlign вычисляется так:
Код:
Header.BlockAlign := Header.NumChannels * BytsPerSample;
Если звук двухканальный и двубайтный (т.е. 16-ти-битный), то как раз и получится 4 байта на сэмпл. А как можно вместить двухканальный двухбайтный сэмпл в 2 байта?