Проблема с выборками в *.wav
Написал я прогу, которая читает заголовок и затем, соответственно, сами данные wav файла, вроде бы всё нормально. После блока 'data' + 4 байта, начинаю читать отсчёты аудиоинформации, полученные данные внимательно сравниваю с данными hex-редактора, первые 84 слова (тестировал на стандартном медиа файле ОС windows - "chimes.wav": 22,5 кГц, стерео, 16 бит на отсчёт) совпадают точно! Затем происходит непонятная мне вещь, начиная с относительного адреса 0000:00D4, все данные смещаются на один байт, и выборки читаются по нечётным адресам медиафайла??? Странно? Вот результат сравнения отрезка информации, где происходит непонятное мне смещение:
hex-редактор:
0000:00C0 08 00 04 00 08 00 01 00 06 00 00 00 04 00 02 00
0000:00D0 07 00 05 00 0D 00 03 00 09 00 05 00 0C 00 04 00
Работа программы :
8, 4, 8, 1, 6, 0, 4, 2,
7, 5, 768, 2304, 1280, 3072, 1024, 1792
указатель на выборку 0D00, по адресу D4, перескакивает на выборку 0003, что и даёт результат 768, вместо необходимого 13!
друзья, подскажите пожалуйста в чём беда?
С уважением Rundll!