Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 03.11.2011, 21:10
Змей Змей вне форума
Прохожий
 
Регистрация: 03.11.2011
Сообщения: 18
Репутация: 10
Восклицание Как выудить данные из WAV файла

Поискал по поиску инфу на эту тему,из более менее понятного нашел это: http://www.kansoftware.ru/?tid=4832
Вроде бы работает нормально,но я не смог разобраться в принципе работы
Там вообщем то вся суть заключена в этом(про структуру wav прочитал):
Код:
    Channeles := Ch;
    SamplesPerSec := Freq;
    BitsPerSample := Bits;
    и т.д.
Но откуда берутся эти данные(Ch,Freq,Bits....) непонятно,их можно и по другому назвать и будет работать,то есть не в названии дело.Но как определяется откуда именно этим переменным взять данные? Подумал что просто по порядку считывается,решил проверить:
В примере было так:
Код:
TWaveHeader = record
    idRiff: array[0..3] of char;
    RiffLen: longint;
    idWave: array[0..3] of char;
    idFmt: array[0..3] of char;
    InfoLen: longint;
    WaveType: smallint;
    Ch: smallint;
    Freq: longint;
    BytesPerSec: longint;
    align: smallint;
    Bits: smallint;
  end;
  TDataHeader = record
    idData: array[0..3] of char;
    DataLen: longint;
  end;
Я решил что разбиение на заголовки просто для удобства работы, для проверки поменял так:
Код:
TWaveHeader = record
    idRiff: array[0..3] of char;
    RiffLen: longint;
    idWave: array[0..3] of char;
    idFmt: array[0..3] of char;
    InfoLen: longint;
    WaveType: smallint;
    Ch: smallint;
    Freq: longint;
    BytesPerSec: longint;
    align: smallint;
    Bits: smallint;
    idData: array[0..3] of char;
    DataLen: longint;
  end;
Но работать стало неверно,значит названия все таки влияют и информация не просто сплошняком идет.
Тогда непонятно по какому принципу считывается информация,поясните пожалуйста.
И как мне в таком случае считать только звуковую информацию или как считывать с определенного байта(прочитал что заголовки 44 байта занимают)?
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025