Показать сообщение отдельно
  #73  
Старый 14.08.2012, 17:22
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Dmitry_DM
Да, правда. Попробовал гигантский wav и там правда есть расходимость в каналах. 2 вопроса снято! Остался 3: все же как теперь записать значения? И не записывать вручную это
Код:
NumSamples := 1079;
и это
Код:
Sample := 1111;
. Что бы они сами заполнялись, как вы сказали, используя массив. Это для меня непосильная задача
Чтобы процедура/функция могла возвращать несколько результатов (вместо одного) можно использовать структуру (запись).
У вас функция ReadWave для возвращения результата уже использует структуру такого вида:
Код:
type
  TWaveResult = record
    ERROR          : WORD;
    wAvgBytesPerSec: Cardinal;
    wBitsPerSample : WORD;
    wChannels      : WORD;
    Data           : TMemoryStream;
  end;
Вот эту структуру можно дополнить нужными параметрами и в самой функции вместе с (или вместо) выводом этой информации в Memo записывать в эту структуру. А потом эту же структуру давать в качестве параметра процедуре WriteWav, которая и будет из неё читать нужные параметры.
Ответить с цитированием