![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#12
|
|||
|
|||
|
Извините, предыдущий пост не до конца разобрал, там все есть
Всем спасибо! Ребят,все равно не получается Читаю WAV файл,как тут писали, допустим размер файла WAV.size=20.000.000, тогда размер считываемых данных должен быть примерно в 2 раза меньше(если заголовок не учитывать), то есть 10.000.000, потому что данные по 2 байта, вроде делаю все как нужно,но в итоге если посмотреть считанные данные,то начиная со второй половины все равно нулю,в данном случае с 5.000.000 до 10.000.000 Код:
var Form1: TForm1; WAV: Tfilestream; i: integer; data: array of smallint; procedure TForm1.Button1Click(Sender: TObject); begin if not opendialog1.Execute then exit; WAV:=Tfilestream.Create(opendialog1.FileName, fmopenread); try setlength(data,trunc((WAV.size-44)/sizeof(smallint))); WAV.Seek(44, sofrombeginning); WAV.read(data[0], length(data)); for i:=7000000 to 7000100 do memo1.Lines.Add(inttostr(data[i])); edit1.Text:=inttostr(WAV.size); edit2.Text:=inttostr(length(data)); finally WAV.free; end; end; end. Последний раз редактировалось Змей, 13.12.2011 в 18:27. |