Показать сообщение отдельно
Старый 09.05.2006, 13:48     # 3
Rundll
Junior Member
 
Аватар для Rundll
 
Регистрация: 02.11.2003
Адрес: г. Таганрог
Сообщения: 63

Rundll Путь к славе только начался
Написал я прогу, которая читает заголовок и затем, соответственно, сами данные 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!
__________________
Америка, Америка - это красиво, но Россия вот где есть СИЛА!!!
Rundll вне форума