hiBASS_Record.pas
......
строка 126 WaveHdr.dwBytesPerSec := 24*c*f div 8; //Заменил 16 на 24
строка 127 WaveHdr.wBitsPerSample := 24;
строка 142 rh := BASS_RecordStart(f,c,256,@RecordCallback, cardinal(self)); //заменил 0 на 256, (согласно API данные звука представляются 4-х байтными числами с плавающей запятой)
*************************************
Надо ли менять размерность массива на [0..7] ? в разделе
type
строка 71 cWavFmt: array[0..3] of Char;
*************************************
В результате на выходе получаю поток из 4-х байтных чисел (single) в диапазоне +-1,0000
Читаю поток в IC так:
......
var
_Left,_Right:single;
leng := len div 8;
for i := 1 to leng do
begin
St.Read(_Left,4);St.Read(_Right,4);
......
При проигрывании МР3 файла на выходе получаю значения в диапазоне +-0,15 хотя ранее при 16-битной звуковой карте в этом файле значения были в диапазоне +-24000, да и на слух все звуковые файлы стали гораздо тише (что, впрочем, не плохо
Для обратного преобразования в BASS есть метод SampleTo24Bit Method (Single), но я его пока не использовал.



Поиск
Друзья
Администрация